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

Time bar (total: 5.6s)

start0.0ms (0%)

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

analyze125.0ms (2.2%)

Memory
-9.5MiB live, 226.3MiB allocated; 52ms 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.7s (30%)

Memory
13.5MiB live, 1 861.0MiB allocated; 335ms collecting garbage
Samples
711.0ms6 219×0valid
253.0ms494×3valid
185.0ms783×2valid
102.0ms760×1valid
Precisions
Click to see histograms. Total time spent on operations: 880.0ms
ival-hypot: 362.0ms (41.1% of total)
ival-mult: 138.0ms (15.7% of total)
ival-sqrt: 135.0ms (15.3% of total)
adjust: 117.0ms (13.3% of total)
ival-sub: 62.0ms (7% of total)
ival->: 49.0ms (5.6% of total)
exact: 13.0ms (1.5% of total)
ival-assert: 4.0ms (0.5% of total)
Bogosity

explain173.0ms (3.1%)

Memory
-3.0MiB live, 284.6MiB allocated; 22ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1280-2(2.0013303603807902e-162 7.226499784541313e-299)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
290-0-(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
210-3(1.352553484223481e-178 5.718695308852857e-249)(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)overflow63
(*.f64 im im)overflow58
-.f64(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)cancellation290
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))uflow-rescue180
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))underflow26
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))underflow8
(*.f64 re re)underflow61
(*.f64 im im)underflow67
(+.f64 (*.f64 re re) (*.f64 im im))underflow16
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)underflow26
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue160
(+.f64 (*.f64 re re) (*.f64 im im))underflow16
(*.f64 re re)underflow61
(*.f64 im im)underflow67
Confusion
Predicted +Predicted -
+1531
-0102
Precision
1.0
Recall
0.9935064935064936
Confusion?
Predicted +Predicted MaybePredicted -
+15301
-00102
Precision?
1.0
Recall?
0.9935064935064936
Freqs
test
numberfreq
0103
1133
220
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
39.0ms402×0valid
11.0ms38×2valid
11.0ms28×3valid
8.0ms44×1valid
Compiler

Compiled 169 to 40 computations (76.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 48.0ms
ival-mult: 16.0ms (33.3% of total)
ival-hypot: 14.0ms (29.1% of total)
adjust: 6.0ms (12.5% of total)
ival-sqrt: 5.0ms (10.4% of total)
ival-sub: 4.0ms (8.3% of total)
ival-add: 3.0ms (6.2% of total)
exact: 1.0ms (2.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess43.0ms (0.8%)

Memory
5.1MiB live, 51.2MiB allocated; 2ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03077
17777
215177
318877
423977
525877
626677
728775
831675
936275
1039975
1144775
1252575
1368775
1477175
1584975
1692175
1796975
1898175
01215
02015
13615
28115
314215
418415
519115
619515
720415
821515
923315
1025515
1127515
1230115
1335115
1437915
1540515
1642915
1744515
1844915
044910
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
Symmetry

(abs im)

Compiler

Compiled 15 to 12 computations (20% saved)

eval0.0ms (0%)

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

Compiled 0 to 2 computations (-∞% saved)

prune1.0ms (0%)

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

simplify15.0ms (0.3%)

Memory
24.7MiB live, 24.7MiB allocated; 0ms collecting garbage
Algorithm
egg-herbie
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
28175
314275
418475
519175
619575
720475
821575
923375
1025575
1127575
1230175
1335175
1437975
1540575
1642975
1744575
1844975
044949
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
#s(literal 2 binary64)
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 re re)
re
(*.f64 im im)
im
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
(*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
#s(literal 2 binary64)
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(-.f64 (hypot.f64 im re) re)
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(hypot.f64 im re)
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
re
(*.f64 im im)
im

localize45.0ms (0.8%)

Memory
-9.6MiB live, 83.1MiB allocated; 4ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
accuracy4.40154180862386
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
accuracy6.466283404988477
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
accuracy29.700115505024932
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
21.0ms201×0valid
5.0ms14×3valid
5.0ms19×2valid
4.0ms22×1valid
Compiler

Compiled 77 to 14 computations (81.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 26.0ms
ival-hypot: 8.0ms (30.9% of total)
ival-mult: 8.0ms (30.9% of total)
adjust: 3.0ms (11.6% of total)
ival-sub: 3.0ms (11.6% of total)
ival-sqrt: 2.0ms (7.7% of total)
ival-add: 1.0ms (3.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series21.0ms (0.4%)

Memory
-24.7MiB live, 26.2MiB allocated; 5ms collecting garbage
Counts
5 → 91
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)
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)))
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)
(* -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))))))))
(+ 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))))
(* 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)))
(* -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)))))
Calls

6 calls:

TimeVariablePointExpression
5.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))
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))
3.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))
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.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))

simplify460.0ms (8.2%)

Memory
-30.2MiB live, 220.4MiB allocated; 659ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04632634
116612487
276812469
083152336
Stop Event
iter limit
node limit
Counts
91 → 89
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)))
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)
(* -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))))))))
(+ 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))))
(* 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)))
(* -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)))))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (*.f64 (/.f64 re im) #s(literal 1/2 binary64)) re im)
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (fma.f64 (*.f64 re (/.f64 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 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.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 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal -1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/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 re (/.f64 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)
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) re) (*.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 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64)))) re re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re)
(pow re 2)
(*.f64 re re)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(*.f64 (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 1 binary64)) (*.f64 re re))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 im (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/32 binary64))) (sqrt.f64 #s(literal 1/2 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 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 #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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (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 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/16 binary64))) (sqrt.f64 #s(literal 1/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 (*.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 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 #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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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)
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 3 binary64))))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64))))) 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 (pow.f64 im #s(literal 8 binary64)) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64)))) #s(literal -1/2 binary64) (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 4 binary64)))))) 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 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) #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 (*.f64 im im) #s(literal -1/8 binary64)) (*.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)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im))) (pow.f64 (neg.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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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))) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) #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)) #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))))) (pow.f64 (neg.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)) #s(literal 2 binary64)) (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 (*.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))) (pow.f64 (neg.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 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 binary64)) (pow.f64 re #s(literal 6 binary64)))))
(+ re (* 1/2 (/ (pow im 2) re)))
(fma.f64 (/.f64 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) 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)
(* 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) (pow.f64 re #s(literal 5 binary64)))) #s(literal -1/32 binary64)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) im) (sqrt.f64 #s(literal 1/2 binary64))) (*.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)))) 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 (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/32 binary64))) (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 (fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 re)) #s(literal 1/4 binary64) (*.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) (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 re)) #s(literal -1/4 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.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 (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/16 binary64))) (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 (fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 re)) #s(literal 1/2 binary64) (*.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) (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 re)) #s(literal -1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.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 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im))
(* (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 (fma.f64 (*.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) 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) (+ (* (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 (fma.f64 (fma.f64 (*.f64 im (/.f64 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))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))) im)
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(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 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (*.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 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/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ 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 #s(literal 1 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) re) im)) im)
(* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))
(+.f64 im (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (*.f64 re re) im) re) im)) im))
(* -1 im)
(neg.f64 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64)))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (fma.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 binary64) #s(literal 1 binary64))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(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 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/8 binary64) (*.f64 (/.f64 (/.f64 (*.f64 re re) im) im) #s(literal 1/2 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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64))) (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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64)))) (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 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 im) #s(literal 3/16 binary64))) (pow.f64 (neg.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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64))) (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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64)))) (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 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 im) #s(literal 3/8 binary64))) (pow.f64 (neg.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))

rewrite97.0ms (1.7%)

Memory
-15.6MiB live, 129.3MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01253
02051
16751
254427
0943415
Stop Event
iter limit
node limit
iter limit
Counts
5 → 211
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)
Outputs
(*.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))))
(*.f64 (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 (neg.f64 (hypot.f64 im re))) (sqrt.f64 (neg.f64 (hypot.f64 im re))))
(*.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)))
(*.f64 (pow.f64 (neg.f64 (hypot.f64 im re)) #s(literal 1/2 binary64)) (pow.f64 (neg.f64 (hypot.f64 im re)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (hypot.f64 (*.f64 re re) (*.f64 im im))) (neg.f64 (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im)))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (fabs.f64 (hypot.f64 (*.f64 re re) (*.f64 im im))) (fabs.f64 (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im)))))
(/.f64 (fabs.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fabs.f64 (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (hypot.f64 (*.f64 im im) (*.f64 re re)) (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (hypot.f64 (*.f64 re re) (*.f64 im im)) (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (neg.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(/.f64 (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)))))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fabs.f64 (neg.f64 (hypot.f64 im re)))
(fabs.f64 (hypot.f64 im re))
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (neg.f64 re))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (log.f64 (hypot.f64 im re)))
(+.f64 (cosh.f64 (log.f64 (hypot.f64 im re))) (sinh.f64 (log.f64 (hypot.f64 im re))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(*.f64 (/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)))) (+.f64 (pow.f64 re #s(literal 8 binary64)) (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(*.f64 (*.f64 (hypot.f64 im re) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (neg.f64 (+.f64 re im))) (neg.f64 (+.f64 re im)))
(*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (neg.f64 re) im)) (+.f64 (neg.f64 re) im))
(*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 re im)) (+.f64 re im))
(*.f64 (neg.f64 (neg.f64 (hypot.f64 im re))) (neg.f64 (neg.f64 (hypot.f64 im re))))
(*.f64 (pow.f64 (neg.f64 (hypot.f64 im re)) #s(literal 1 binary64)) (pow.f64 (neg.f64 (hypot.f64 im re)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (hypot.f64 im re)))
(*.f64 (neg.f64 (hypot.f64 im re)) (neg.f64 (hypot.f64 im re)))
(*.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(*.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (hypot.f64 im re) (hypot.f64 im re))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (/.f64 (fma.f64 (neg.f64 re) re (*.f64 im im)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(pow.f64 (neg.f64 (hypot.f64 im re)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (neg.f64 (+.f64 re im))) (-.f64 (neg.f64 re) (neg.f64 im)))
(/.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 (neg.f64 re) im)) (-.f64 (neg.f64 re) im))
(/.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 re im)) (-.f64 re im))
(/.f64 (*.f64 (hypot.f64 (*.f64 re re) (*.f64 im im)) (hypot.f64 im re)) (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 im re)) (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im)))) (*.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im)))))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 (*.f64 (neg.f64 re) re) #s(literal 3 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (+.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (*.f64 im im) (*.f64 (neg.f64 re) re)))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (-.f64 (*.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (neg.f64 (*.f64 (+.f64 im re) (-.f64 im re))))
(/.f64 (*.f64 (hypot.f64 (*.f64 re re) (*.f64 im im)) (hypot.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im))) (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im)))))
(/.f64 (*.f64 (hypot.f64 (*.f64 re re) (*.f64 im im)) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im))) (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (fma.f64 (neg.f64 re) re (*.f64 im im)))))
(/.f64 (*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (*.f64 re im) #s(literal 4 binary64))) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (*.f64 (fma.f64 (neg.f64 re) re (*.f64 im im)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (fma.f64 (neg.f64 re) re (*.f64 im im)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (fma.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.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))) (pow.f64 im #s(literal 6 binary64)))) (*.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (*.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (+.f64 im re) (-.f64 im re)))
(/.f64 (+.f64 (pow.f64 re #s(literal 18 binary64)) (pow.f64 im #s(literal 18 binary64))) (*.f64 (-.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 re im) #s(literal 6 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(/.f64 (+.f64 (pow.f64 re #s(literal 18 binary64)) (pow.f64 im #s(literal 18 binary64))) (*.f64 (-.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 re im) #s(literal 6 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 (neg.f64 re) re (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (neg.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (fma.f64 (neg.f64 re) re (*.f64 (neg.f64 im) im)))
(neg.f64 (fma.f64 (neg.f64 im) im (*.f64 (neg.f64 re) re)))
(neg.f64 (*.f64 (neg.f64 (hypot.f64 im re)) (hypot.f64 im re)))
(neg.f64 (*.f64 (hypot.f64 im re) (neg.f64 (hypot.f64 im re))))
(neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)))) (+.f64 (pow.f64 re #s(literal 8 binary64)) (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)))) (+.f64 (pow.f64 re #s(literal 8 binary64)) (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (neg.f64 (+.f64 re im))) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (*.f64 (neg.f64 re) re) (+.f64 re im)) (/.f64 (*.f64 (neg.f64 re) re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 re im))) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (neg.f64 (+.f64 re im))) (/.f64 re (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 (neg.f64 re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 (neg.f64 re) im)) (/.f64 re (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 (neg.f64 re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 re im)) (/.f64 re (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (neg.f64 re) (neg.f64 (+.f64 re im))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (neg.f64 re) (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (*.f64 re re) (neg.f64 (+.f64 re im))) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 (neg.f64 re) im)) (/.f64 (*.f64 re re) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 re im)) (/.f64 (*.f64 re re) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 re (neg.f64 (+.f64 re im))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) (neg.f64 im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 re (+.f64 (neg.f64 re) im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (neg.f64 re) im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (/.f64 re (+.f64 re im)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 (*.f64 (neg.f64 re) re) (/.f64 (*.f64 (neg.f64 re) re) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (pow.f64 im #s(literal 3 binary64)) (/.f64 (pow.f64 im #s(literal 3 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 (neg.f64 re) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 (*.f64 im im) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (/.f64 (*.f64 re re) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (neg.f64 re) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.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 (*.f64 im im) (/.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(fma.f64 re re (*.f64 im im))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (+.f64 im re) (-.f64 im re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(-.f64 (*.f64 im im) (*.f64 (neg.f64 re) re))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (+.f64 (pow.f64 im #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))))))
(+.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (/.f64 (pow.f64 im #s(literal 6 binary64)) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 (neg.f64 re) re (*.f64 im im))))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
#s(literal 0 binary64)
#s(literal 0 binary64)
(*.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 4 binary64)) (pow.f64 (*.f64 re (-.f64 (hypot.f64 im re) re)) #s(literal 2 binary64)))) (-.f64 (pow.f64 (-.f64 (hypot.f64 im 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))) (+.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 (*.f64 re (-.f64 (hypot.f64 im re) re)) #s(literal 3 binary64)))) (+.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (*.f64 (*.f64 re (-.f64 (hypot.f64 im re) re)) (-.f64 (*.f64 re (-.f64 (hypot.f64 im re) re)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(*.f64 (/.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) (-.f64 (hypot.f64 im re) re))
(*.f64 (/.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (-.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (*.f64 (hypot.f64 im re) re)))
(*.f64 (/.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))
(*.f64 (+.f64 (hypot.f64 im re) (neg.f64 re)) (/.f64 (-.f64 (hypot.f64 im re) (neg.f64 re)) (-.f64 (hypot.f64 im re) re)))
(*.f64 (-.f64 (hypot.f64 im re) re) (/.f64 (-.f64 (hypot.f64 im re) re) (-.f64 (hypot.f64 im re) re)))
(*.f64 (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) (/.f64 (-.f64 (hypot.f64 im re) re) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re))) (*.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))) (-.f64 (hypot.f64 im re) re))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))) (+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 re (hypot.f64 im re)))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) #s(literal 3 binary64)) (pow.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (fma.f64 (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))) (*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))))))
(/.f64 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (fma.f64 re re (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (hypot.f64 im re) re))))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 (-.f64 (hypot.f64 im re) re) (*.f64 re re))) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (*.f64 (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 2 binary64)))
(/.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 3 binary64)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 (+.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 (*.f64 re (-.f64 (hypot.f64 im re) re)) #s(literal 2 binary64))) (-.f64 (hypot.f64 im re) re)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.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) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) (*.f64 (+.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (+.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 3 binary64)))) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (neg.f64 (-.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (*.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))) (-.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (*.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) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))
(neg.f64 (-.f64 (hypot.f64 im re) re))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (-.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (*.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) (-.f64 (hypot.f64 im re) re) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))
(fma.f64 (pow.f64 re #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/2 binary64)) (hypot.f64 im re))
(fma.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) re)
(fma.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (neg.f64 re))
(fma.f64 (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) re)
(fma.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (neg.f64 re)) (hypot.f64 im re))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 im re))
(fma.f64 (sqrt.f64 (neg.f64 (hypot.f64 im re))) (sqrt.f64 (neg.f64 (hypot.f64 im re))) re)
(fma.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)) re)
(fma.f64 (pow.f64 (neg.f64 (hypot.f64 im re)) #s(literal 1/2 binary64)) (pow.f64 (neg.f64 (hypot.f64 im re)) #s(literal 1/2 binary64)) re)
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 re))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) re)
(fma.f64 (neg.f64 (hypot.f64 im re)) (/.f64 (neg.f64 (hypot.f64 im re)) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))
(fma.f64 (hypot.f64 im re) (/.f64 (hypot.f64 im re) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))
(-.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))
(-.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))
(-.f64 (hypot.f64 im re) re)
(-.f64 re (neg.f64 (hypot.f64 im re)))
(+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (-.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (*.f64 (hypot.f64 im re) re))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (hypot.f64 im re) re (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))
(+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (-.f64 (hypot.f64 im re) re))))
(+.f64 (neg.f64 (hypot.f64 im re)) (neg.f64 re))
(+.f64 (neg.f64 re) (neg.f64 (hypot.f64 im re)))
(+.f64 (hypot.f64 im re) re)
(+.f64 re (hypot.f64 im re))

eval51.0ms (0.9%)

Memory
16.4MiB live, 69.3MiB allocated; 7ms collecting garbage
Compiler

Compiled 10 052 to 2 117 computations (78.9% saved)

prune11.0ms (0.2%)

Memory
-24.2MiB live, 22.5MiB allocated; 3ms collecting garbage
Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New28910299
Fresh000
Picked101
Done000
Total29010300
Accuracy
99.9%
Counts
300 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
42.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
30.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 #s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re)) re))))
12.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) re) im) im (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 3 binary64))))))))
55.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
13.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64))))))
16.3%
(*.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)))
22.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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))))
51.6%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))))
22.9%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
6.4%
#s(literal 0 binary64)
Compiler

Compiled 464 to 352 computations (24.1% saved)

simplify36.0ms (0.6%)

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

Found 16 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
038279
062279
191279
2155279
3257279
4336279
5459279
6573279
7701279
8716279
9738279
10766279
11791279
12817279
13877279
14905279
15931279
16955279
17971279
18975279
0975227
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
#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(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))
#s(literal 2 binary64)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))
(-.f64 im re)
im
re
#s(literal 0 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))))
#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) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))))
#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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(sqrt.f64 #s(literal 1/2 binary64))
im
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(*.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 (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))
(sqrt.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))
(*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))
(-.f64 im re)
im
re
#s(literal 0 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(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 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 (fma.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 (fma.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 (fma.f64 re re (*.f64 im im))) re)
(-.f64 (hypot.f64 im re) re)
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(hypot.f64 im re)
(fma.f64 re re (*.f64 im im))
(fma.f64 im im (*.f64 re re))
re
(*.f64 im im)
im
(*.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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (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 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(sqrt.f64 #s(literal 1/2 binary64))
im
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)

localize83.0ms (1.5%)

Memory
6.0MiB live, 97.3MiB allocated; 9ms collecting garbage
Localize:

Found 16 expressions of interest:

NewMetricScoreProgram
accuracy0.140625
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
accuracy0.205410009768442
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))
accuracy0.2421875
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))))
accuracy0.00390625
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
accuracy4.40154180862386
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
accuracy6.466283404988477
(-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
accuracy14.33809441435839
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
accuracy0.0
(sqrt.f64 #s(literal 2 binary64))
accuracy0.00390625
(*.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))))
accuracy0.24675751953688402
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
accuracy13.222433785872965
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
accuracy0.00390625
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))
accuracy0.00390625
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
accuracy4.40154180862386
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))
accuracy13.502929070664555
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))
Samples
24.0ms135×0invalid
13.0ms66×0valid
11.0ms14×3valid
8.0ms19×2valid
8.0ms22×1valid
Compiler

Compiled 241 to 26 computations (89.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 43.0ms
ival-hypot: 12.0ms (28% of total)
ival-mult: 12.0ms (28% of total)
ival-sqrt: 8.0ms (18.7% of total)
adjust: 4.0ms (9.3% of total)
ival-sub: 3.0ms (7% of total)
ival-div: 2.0ms (4.7% of total)
ival-add: 1.0ms (2.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series25.0ms (0.4%)

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

6 calls:

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

simplify169.0ms (3%)

Memory
15.8MiB live, 200.7MiB allocated; 41ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05583037
120102884
083732729
Stop Event
iter limit
node limit
Counts
113 → 111
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)))
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(* (* im (sqrt 1/2)) (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)))))))
(+ (* -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/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)
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))))))
(* -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)))))))
(* -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))))))))
(* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(* (* im (* (pow (sqrt -1) 2) (sqrt 1/2))) (sqrt (/ 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/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)))))
(* im (sqrt 1/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 (+ 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)))))))
(* -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))))))))
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 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 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 (fma.f64 (*.f64 re #s(literal -1/4 binary64)) (/.f64 (*.f64 re re) (pow.f64 im #s(literal 3 binary64))) (-.f64 (/.f64 re im) #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 #s(literal 1/2 binary64) im) re) #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)
(+ im (* 1/2 (/ (pow re 2) im)))
(fma.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) im) re) re 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 (fma.f64 (/.f64 (*.f64 re re) (pow.f64 im #s(literal 5 binary64))) #s(literal 1/16 binary64) (/.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) im)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))
(* (* im (sqrt 1/2)) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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/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)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (*.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 (*.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)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (*.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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (*.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)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im)))
(+ (* -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/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 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.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)))))))
(+ (* -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)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))))
(/ (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/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 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 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 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 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 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64)))) re re)
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(fma.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/16 binary64) (fma.f64 (/.f64 #s(literal 1/2 binary64) re) (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re)
(* -1/2 (* (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))))))
(* -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 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 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 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/16 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 (pow.f64 im #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 re #s(literal 4 binary64))))) re re))
(* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (neg.f64 im)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* (* im (* (pow (sqrt -1) 2) (sqrt 1/2))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (neg.f64 im) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) 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 #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/256 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal 1/2 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/256 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal 1/2 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/256 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal 1/2 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/256 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal 1/2 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/256 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal 1/2 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/256 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) #s(literal 1/2 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 (fma.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 5 binary64))) 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) (+ (* (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 (fma.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 (fma.f64 (*.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) 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) (+ (* (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 (fma.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 #s(literal 1/2 binary64) re) (*.f64 im im) re)
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(fma.f64 (fma.f64 (/.f64 (*.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 (fma.f64 (*.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) 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)
(* im (sqrt 1/2))
(*.f64 (sqrt.f64 #s(literal 1/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 #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 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/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 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/8 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 (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))))
(neg.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 (sqrt.f64 im))))
(* -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 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/8 binary64)) (pow.f64 im #s(literal 4 binary64))))) im im))

rewrite91.0ms (1.6%)

Memory
10.9MiB live, 101.0MiB allocated; 17ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037237
061238
1147234
280690
01008478
Stop Event
iter limit
node limit
iter limit
Counts
18 → 157
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im 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))
(*.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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
Outputs
#s(literal 0 binary64)
#s(literal 0 binary64)
#s(literal 0 binary64)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #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))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 im) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 im #s(literal 1/4 binary64))) (pow.f64 im #s(literal 1/4 binary64)))
(*.f64 (*.f64 (pow.f64 im #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (*.f64 (pow.f64 im #s(literal 1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 im #s(literal 1/4 binary64))) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 im #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)))
(hypot.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 im))
(hypot.f64 (sqrt.f64 im) (sqrt.f64 (neg.f64 im)))
(hypot.f64 (sqrt.f64 im) (sqrt.f64 im))
(exp.f64 (fma.f64 (log.f64 im) #s(literal 1/2 binary64) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64) (*.f64 (log.f64 im) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (fabs.f64 (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 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))
(pow.f64 #s(literal 2 binary64) #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
(exp.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))))
(*.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)))
(*.f64 (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 (+.f64 (neg.f64 re) im)) (sqrt.f64 (-.f64 (neg.f64 re) im)))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re)))
(/.f64 (fabs.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fabs.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (neg.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 im re)))
(/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (hypot.f64 im re))
(neg.f64 (hypot.f64 im re))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fabs.f64 (hypot.f64 im re))
(hypot.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 im)))
(hypot.f64 (exp.f64 (log.f64 re)) (neg.f64 im))
(hypot.f64 (exp.f64 (log.f64 re)) im)
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (neg.f64 re))
(hypot.f64 (exp.f64 (log.f64 im)) re)
(hypot.f64 (/.f64 (*.f64 re re) (-.f64 im re)) (/.f64 (*.f64 im im) (-.f64 im re)))
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 (neg.f64 im) (exp.f64 (log.f64 re)))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(exp.f64 (log.f64 (hypot.f64 im re)))
(+.f64 (cosh.f64 (log.f64 (hypot.f64 im re))) (sinh.f64 (log.f64 (hypot.f64 im re))))
#s(literal 0 binary64)
#s(literal 0 binary64)
#s(literal 0 binary64)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal -1/2 binary64))) im) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 im #s(literal 1 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 im (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im) #s(literal 1 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 re))) im)
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal -1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 im #s(literal 1 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 re)) (*.f64 im (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)))
(/.f64 (neg.f64 (*.f64 im #s(literal 1 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))
(*.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 re)) im)
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 im (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 re)))
(/.f64 (neg.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re))) (*.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 im re) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 im re) re)))) (-.f64 (hypot.f64 im re) re))
(/.f64 (-.f64 (*.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 (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 (/.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 (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 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 re re) (-.f64 (hypot.f64 im re) re)) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (fma.f64 (/.f64 (*.f64 re re) (-.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 2 binary64)) (-.f64 (hypot.f64 im re) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 im re) re))))))
(/.f64 (-.f64 (pow.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)))) #s(literal 3 binary64)) (pow.f64 (/.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)))) #s(literal 3 binary64))) (fma.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 (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)))) (fma.f64 (/.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 (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 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 (+.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 3 binary64))) (fma.f64 re re (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (hypot.f64 im re) re))))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (*.f64 (-.f64 (hypot.f64 im re) re) (*.f64 re re))) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(/.f64 (-.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 (fma.f64 re (-.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 (fma.f64 re (-.f64 (hypot.f64 im re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))
(/.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 2 binary64)) (fma.f64 re re (*.f64 (hypot.f64 im re) (neg.f64 re)))))
(/.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 2 binary64)) (-.f64 (*.f64 re re) (*.f64 (hypot.f64 im re) (neg.f64 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 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re))
(neg.f64 (-.f64 (hypot.f64 im re) re))
(fma.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 re))
(fma.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) re)
(fma.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (neg.f64 re))
(fma.f64 (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) re)
(fma.f64 (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 re))
(fma.f64 (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) re)
(fma.f64 (sqrt.f64 (+.f64 (neg.f64 re) im)) (sqrt.f64 (-.f64 (neg.f64 re) im)) (neg.f64 re))
(fma.f64 (sqrt.f64 (+.f64 (neg.f64 re) im)) (sqrt.f64 (-.f64 (neg.f64 re) im)) re)
(fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re)) (neg.f64 re))
(fma.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 (-.f64 im re)) re)
(fma.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)) (neg.f64 re))
(fma.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)) re)
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) (neg.f64 re))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64))) re)
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (neg.f64 re))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 1/2 binary64)) re)
(fma.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 (neg.f64 re)) (hypot.f64 im re))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 im re))
(-.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (/.f64 (*.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) (neg.f64 re))
(-.f64 (hypot.f64 im re) re)
(-.f64 re (hypot.f64 im re))
(+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (hypot.f64 im re) re)) (/.f64 (*.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 (neg.f64 re) (hypot.f64 im re))
(+.f64 (hypot.f64 im re) (neg.f64 re))
(+.f64 (hypot.f64 im re) re)
(+.f64 re (hypot.f64 im re))
(*.f64 (*.f64 #s(literal 1 binary64) im) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 im (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))

eval64.0ms (1.1%)

Memory
-30.0MiB live, 83.5MiB allocated; 13ms collecting garbage
Compiler

Compiled 8 379 to 1 559 computations (81.4% saved)

prune12.0ms (0.2%)

Memory
-21.8MiB live, 24.7MiB allocated; 3ms collecting garbage
Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New2639272
Fresh415
Picked235
Done000
Total26913282
Accuracy
100.0%
Counts
282 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
23.1%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))) #s(literal 1/2 binary64))
52.0%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
42.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
55.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
51.9%
(*.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)))))
13.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
30.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
23.1%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))))
22.9%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))))
23.0%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))))
23.0%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64))) (sqrt.f64 #s(literal 2 binary64)))))
22.9%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
6.4%
#s(literal 0 binary64)
Compiler

Compiled 534 to 404 computations (24.3% saved)

simplify68.0ms (1.2%)

Memory
0.0MiB live, 45.8MiB allocated; 9ms collecting garbage
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
038306
057290
196290
2189290
3326290
4568290
51096290
61280290
71350290
81360290
91378290
101399290
111419290
121445290
131509290
141537290
151563290
161587290
171603290
181607290
191607290
01607235
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
(*.f64 im #s(literal 2 binary64))
im
#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(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))
(*.f64 im #s(literal 1 binary64))
im
#s(literal 1 binary64)
(sqrt.f64 re)
re
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))))
#s(literal 1/2 binary64)
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(sqrt.f64 #s(literal 1/2 binary64))
im
(sqrt.f64 re)
re
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))))
#s(literal 1/2 binary64)
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64))))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))
(pow.f64 re #s(literal -1/2 binary64))
re
#s(literal -1/2 binary64)
(*.f64 im #s(literal 1 binary64))
im
#s(literal 1 binary64)
Outputs
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #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))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
(*.f64 im #s(literal 2 binary64))
im
#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(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re)))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(*.f64 im #s(literal 1 binary64))
im
im
#s(literal 1 binary64)
(sqrt.f64 re)
re
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 1/2 binary64))))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 1/2 binary64)))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 1/2 binary64))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(sqrt.f64 #s(literal 1/2 binary64))
im
(sqrt.f64 re)
re
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(pow.f64 re #s(literal -1/2 binary64))
re
#s(literal -1/2 binary64)
(*.f64 im #s(literal 1 binary64))
im
im
#s(literal 1 binary64)

localize114.0ms (2%)

Memory
13.1MiB live, 111.3MiB allocated; 15ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 im #s(literal 1 binary64))
accuracy0.00390625
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))))
accuracy0.11328125
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64))))
accuracy0.15625
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re))
accuracy0.205410009768442
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))
accuracy0.2421875
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64))))
accuracy0.0
(sqrt.f64 re)
accuracy0.00390625
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))) #s(literal 1/2 binary64))
accuracy0.09375
(/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re)))
accuracy0.0
(*.f64 #s(literal -4 binary64) re)
accuracy0.00390625
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
accuracy4.40154180862386
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
accuracy29.61528655336194
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
accuracy0.0
(*.f64 im #s(literal 2 binary64))
accuracy0.0
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
accuracy0.00390625
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
accuracy13.222433785872965
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
Samples
26.0ms135×0invalid
14.0ms66×0valid
9.0ms19×2valid
8.0ms14×3valid
7.0ms22×1valid
Compiler

Compiled 234 to 28 computations (88% saved)

Precisions
Click to see histograms. Total time spent on operations: 42.0ms
ival-mult: 16.0ms (38.3% of total)
ival-sqrt: 8.0ms (19.1% of total)
ival-hypot: 7.0ms (16.7% of total)
adjust: 3.0ms (7.2% of total)
ival-pow: 3.0ms (7.2% of total)
ival-div: 2.0ms (4.8% of total)
ival-sub: 2.0ms (4.8% of total)
exact: 1.0ms (2.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series34.0ms (0.6%)

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

simplify181.0ms (3.2%)

Memory
44.0MiB live, 134.0MiB allocated; 9ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04312243
115272086
271842068
081971973
Stop Event
iter limit
node limit
Counts
74 → 73
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)))
(* -4 re)
(* im (sqrt (/ 1 re)))
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(* (* im (sqrt 1/2)) (sqrt (/ 1 re)))
(sqrt 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)))))))
(+ (* -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/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)))))))
(* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re)))
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(* 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)))
im
(* im (sqrt 1/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 (+ 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/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 (* (sqrt im) (* (sqrt -2) (sqrt -1))))
(* -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
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im))
(+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 re #s(literal -1/4 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/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 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))))) re)) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 2 im)
(*.f64 im #s(literal 2 binary64))
(+ (* -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 im #s(literal 2 binary64)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) im)) re) #s(literal 2 binary64)) re (*.f64 im #s(literal 2 binary64)))
(* -4 re)
(*.f64 #s(literal -4 binary64) re)
(* im (sqrt (/ 1 re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64)))
(* (* im (sqrt 1/2)) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(sqrt re)
(sqrt.f64 re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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/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)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 im (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/32 binary64))) (sqrt.f64 #s(literal 1/2 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 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 #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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (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 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/16 binary64))) (sqrt.f64 #s(literal 1/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 (*.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 (/.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 #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 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (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 (pow.f64 im #s(literal 8 binary64)) (/.f64 #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/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) #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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #s(literal 1 binary64) (/.f64 (fma.f64 (*.f64 #s(literal -1/32 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im))) (pow.f64 (neg.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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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))) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) #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 (*.f64 im im) #s(literal -1/4 binary64)) (*.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)) #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) (*.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))))) (pow.f64 (neg.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)) #s(literal 2 binary64)) (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 (*.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))) (pow.f64 (neg.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 (pow.f64 im #s(literal 6 binary64)) #s(literal 1/8 binary64)) (pow.f64 re #s(literal 6 binary64)))))
(* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re)))
(*.f64 (neg.f64 im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 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 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.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 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/32 binary64))) (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 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (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 (fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 re)) #s(literal 1/4 binary64) (*.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) (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 re)) #s(literal -1/4 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.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 (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/16 binary64))) (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 (fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 re)) #s(literal 1/2 binary64) (*.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) (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 re)) #s(literal -1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 im im))) (*.f64 im im))) im)
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(*.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im))
(* (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 (fma.f64 (*.f64 (/.f64 #s(literal 1/8 binary64) (pow.f64 re #s(literal 5 binary64))) 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) (+ (* (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 (fma.f64 (fma.f64 (*.f64 im (/.f64 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
(* im (sqrt 1/2))
(*.f64 (sqrt.f64 #s(literal 1/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 #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 (+.f64 (/.f64 (fma.f64 re (/.f64 re im) (*.f64 #s(literal -2 binary64) 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 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) #s(literal -1/4 binary64) (/.f64 (fma.f64 re (/.f64 re im) (*.f64 #s(literal -2 binary64) re)) im)) #s(literal 2 binary64)) im)
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64))))
(* -1 (* im (+ (* -1/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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re re)) (*.f64 (sqrt.f64 im) #s(literal 3/16 binary64))) (pow.f64 (neg.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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64))))
(* -1 (* im (+ (* -1/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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re re)) (*.f64 (sqrt.f64 im) #s(literal 3/8 binary64))) (pow.f64 (neg.f64 im) #s(literal 3 binary64))))))
(* -1 (* (sqrt im) (* (sqrt -2) (sqrt -1))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 im)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 #s(literal -1 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)))

rewrite155.0ms (2.8%)

Memory
-42.5MiB live, 58.7MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038275
057240
1147240
2747110
09553110
Stop Event
iter limit
node limit
iter limit
Counts
21 → 278
Calls
Call 1
Inputs
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
(*.f64 im #s(literal 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))))
(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 im #s(literal 1 binary64))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1 binary64)) (sqrt.f64 re))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64))))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1 binary64)))
(sqrt.f64 re)
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
Outputs
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 im) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (sqrt.f64 im))
(*.f64 (neg.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (sqrt.f64 im)))
(*.f64 (sqrt.f64 im) (*.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(*.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(*.f64 (sqrt.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1 binary64))
(pow.f64 (exp.f64 (log.f64 (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 im #s(literal 2 binary64)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
(hypot.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)))
(hypot.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 im))
(hypot.f64 (sqrt.f64 im) (sqrt.f64 (neg.f64 im)))
(hypot.f64 (sqrt.f64 im) (sqrt.f64 im))
(exp.f64 (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64))))
(*.f64 #s(literal 1 binary64) (*.f64 im #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1 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))))
(fma.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) im)
(fma.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64)) im)
(fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) im)
(fma.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)) im)
(fma.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 im (sqrt.f64 #s(literal 2 binary64)))) im)
(fma.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) im)
(fma.f64 (sqrt.f64 im) (sqrt.f64 im) im)
(fma.f64 #s(literal -1 binary64) (neg.f64 im) im)
(fma.f64 (neg.f64 im) #s(literal -1 binary64) im)
(fma.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) im)
(fma.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))) im)
(fma.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64)) im)
(fma.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (sqrt.f64 #s(literal 2 binary64))) im)
(fma.f64 #s(literal 1 binary64) im im)
(fma.f64 im #s(literal 1 binary64) im)
(-.f64 im (neg.f64 im))
(+.f64 im im)
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64))) (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (sqrt (* 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 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re))))
(*.f64 (neg.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64))) (neg.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64))))
(*.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re)))
(exp.f64 (*.f64 (log.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/2 binary64))))
#s(approx (sqrt (* 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 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (neg.f64 im)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 im (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)))
(*.f64 (sqrt.f64 im) (sqrt.f64 im))
(*.f64 #s(literal -1 binary64) (neg.f64 im))
(*.f64 (neg.f64 im) #s(literal -1 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(literal 1 binary64) im)
(*.f64 im #s(literal 1 binary64))
(pow.f64 (neg.f64 im) #s(literal 1 binary64))
(pow.f64 (*.f64 im im) #s(literal 1/2 binary64))
(pow.f64 im #s(literal 1 binary64))
(neg.f64 (neg.f64 im))
(sqrt.f64 (*.f64 im im))
(fabs.f64 (neg.f64 im))
(fabs.f64 im)
(exp.f64 (/.f64 (*.f64 (log.f64 im) #s(literal 2 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 im) #s(literal 1 binary64)))
im
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 im (sqrt.f64 re))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(*.f64 (*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/8 binary64))) (pow.f64 re #s(literal -1/8 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (*.f64 im (neg.f64 (pow.f64 re #s(literal -1/4 binary64)))) (neg.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 im (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 im (sqrt.f64 #s(literal 2 binary64))) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 im (pow.f64 re #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 re #s(literal -1/8 binary64)) (*.f64 (pow.f64 re #s(literal -1/8 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))))
(*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) im))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(literal 1 binary64) (/.f64 im (sqrt.f64 re)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(neg.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re))))
(neg.f64 (*.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) (sqrt.f64 #s(literal 2 binary64))))
(neg.f64 (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im))
(fma.f64 im (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 im (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im) (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im))
(+.f64 (*.f64 im (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))) (*.f64 im (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 im (sqrt.f64 re))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(*.f64 (*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/8 binary64))) (pow.f64 re #s(literal -1/8 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (*.f64 im (neg.f64 (pow.f64 re #s(literal -1/4 binary64)))) (neg.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 im (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 im (sqrt.f64 #s(literal 2 binary64))) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 im (pow.f64 re #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 re #s(literal -1/8 binary64)) (*.f64 (pow.f64 re #s(literal -1/8 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))))
(*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) im))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(literal 1 binary64) (/.f64 im (sqrt.f64 re)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(neg.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re))))
(neg.f64 (*.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) (sqrt.f64 #s(literal 2 binary64))))
(neg.f64 (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im))
(fma.f64 im (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 im (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im) (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im))
(+.f64 (*.f64 im (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))) (*.f64 im (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (neg.f64 (pow.f64 re #s(literal -1/4 binary64)))) (neg.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (pow.f64 re #s(literal -1/4 binary64)))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64))) im)
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 im (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 im (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))) #s(literal 1 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (/.f64 im (sqrt.f64 re)))
(*.f64 #s(literal 1 binary64) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(*.f64 im (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 im (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(/.f64 (*.f64 (neg.f64 im) (sqrt.f64 #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re))
(neg.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (/.f64 (neg.f64 im) (sqrt.f64 re))))
(neg.f64 (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) (sqrt.f64 #s(literal 1/2 binary64))))
(neg.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))))
(fma.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)))
(fma.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 im (sqrt.f64 re))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(*.f64 (*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/8 binary64))) (pow.f64 re #s(literal -1/8 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (*.f64 im (neg.f64 (pow.f64 re #s(literal -1/4 binary64)))) (neg.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 im (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 im (sqrt.f64 #s(literal 2 binary64))) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 im (pow.f64 re #s(literal 1/4 binary64))) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 re #s(literal -1/8 binary64)) (*.f64 (pow.f64 re #s(literal -1/8 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))))
(*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) (*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) im))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 #s(literal 1 binary64) (/.f64 im (sqrt.f64 re)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(neg.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re))))
(neg.f64 (*.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) (sqrt.f64 #s(literal 2 binary64))))
(neg.f64 (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)))
(fma.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im))
(fma.f64 im (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (*.f64 im (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(+.f64 (*.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im) (*.f64 (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) im))
(+.f64 (*.f64 im (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))) (*.f64 im (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))))
(*.f64 (neg.f64 (pow.f64 re #s(literal 1/4 binary64))) (neg.f64 (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 re #s(literal 1/4 binary64))) (fabs.f64 (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (pow.f64 re #s(literal 1/4 binary64)))
(pow.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1/4 binary64))
(pow.f64 re #s(literal 1/2 binary64))
(neg.f64 (neg.f64 (sqrt.f64 re)))
(sqrt.f64 re)
(exp.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64))))
(*.f64 (*.f64 im (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (neg.f64 (sqrt.f64 #s(literal 1/2 binary64)))) im)
(*.f64 (neg.f64 (sqrt.f64 #s(literal 1/2 binary64))) (neg.f64 im))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 1/4 binary64)) im))
(*.f64 (neg.f64 im) (neg.f64 (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1 binary64))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
(*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 im (neg.f64 (neg.f64 (sqrt.f64 #s(literal 1/2 binary64)))))
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
(neg.f64 (*.f64 (neg.f64 im) (sqrt.f64 #s(literal 1/2 binary64))))

eval30.0ms (0.5%)

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

Compiled 9 191 to 1 432 computations (84.4% saved)

prune39.0ms (0.7%)

Memory
-30.4MiB live, 16.5MiB allocated; 2ms collecting garbage
Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New2908298
Fresh415
Picked415
Done033
Total29813311
Accuracy
100.0%
Counts
311 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
23.1%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
23.1%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64))
23.0%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))))) #s(literal 1/2 binary64))
23.0%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) #s(literal 1/2 binary64))
52.0%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64))
23.1%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))) #s(literal 1/2 binary64))
42.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
55.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
51.9%
(*.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 im #s(literal 2 binary64))))))
13.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
30.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
22.9%
#s(approx (* (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
6.4%
#s(literal 0 binary64)
Compiler

Compiled 497 to 373 computations (24.9% saved)

simplify50.0ms (0.9%)

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

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
041306
060300
192300
2187300
3284300
4417300
5701300
6869300
7884300
8894300
9912300
10934300
11954300
12980300
131032300
141060300
151086300
161110300
171126300
181130300
01130250
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im)))
(sqrt.f64 (+.f64 im im))
(+.f64 im im)
im
#s(literal 1/2 binary64)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
im
(sqrt.f64 re)
re
#s(literal 1/2 binary64)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
#s(approx (/ (* im 1) (sqrt re)) (*.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 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) im)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
im
(sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))
(/.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
re
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(pow.f64 re #s(literal -1/2 binary64))
re
#s(literal -1/2 binary64)
im
#s(literal 1/2 binary64)
Outputs
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im 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 im #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im)))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(sqrt.f64 (+.f64 im im))
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
(+.f64 im im)
(*.f64 im #s(literal 2 binary64))
im
#s(literal 1/2 binary64)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
im
(sqrt.f64 re)
re
#s(literal 1/2 binary64)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
#s(approx (/ (* im 1) (sqrt re)) (*.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 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) #s(literal 1/2 binary64))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) im)
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
im
(sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))
(/.f64 #s(literal 1/2 binary64) re)
#s(literal 1/2 binary64)
re
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(pow.f64 re #s(literal -1/2 binary64))
re
#s(literal -1/2 binary64)
im
#s(literal 1/2 binary64)

localize121.0ms (2.2%)

Memory
1.2MiB live, 97.9MiB allocated; 7ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(pow.f64 re #s(literal -1/2 binary64))
accuracy0.00390625
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64))
accuracy0.11328125
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im))
accuracy0.1015625
(sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))
accuracy0.189785009768442
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
accuracy0.2421875
(*.f64 (sqrt.f64 #s(literal 2 binary64)) im)
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
accuracy0.00390625
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))) #s(literal 1/2 binary64))
accuracy0.09765625
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
accuracy0.11328125
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
accuracy0.0
(sqrt.f64 re)
accuracy0.00390625
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
accuracy0.09375
(/.f64 im (sqrt.f64 re))
accuracy15.414228174951761
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
accuracy0.0
(+.f64 im im)
accuracy0.0
(sqrt.f64 (+.f64 im im))
accuracy0.00390625
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64))
accuracy13.222433785872965
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im)))
Samples
45.0ms135×0invalid
25.0ms14×3valid
16.0ms66×0valid
9.0ms19×2valid
7.0ms22×1valid
Compiler

Compiled 221 to 29 computations (86.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 81.0ms
ival-mult: 30.0ms (37.1% of total)
ival-hypot: 24.0ms (29.7% of total)
ival-sqrt: 9.0ms (11.1% of total)
ival-div: 7.0ms (8.7% of total)
adjust: 3.0ms (3.7% of total)
ival-pow: 3.0ms (3.7% of total)
ival-sub: 2.0ms (2.5% of total)
ival-add: 1.0ms (1.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series18.0ms (0.3%)

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

6 calls:

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

simplify243.0ms (4.3%)

Memory
-12.5MiB live, 115.7MiB allocated; 18ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03261894
111731740
257681722
093341652
Stop Event
iter limit
node limit
Counts
56 → 56
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)))
(* im (sqrt (/ 1 re)))
(sqrt re)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(sqrt (/ 1 re))
(* (sqrt (/ 1 re)) (sqrt 1/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)))))))
(+ (* -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 (* (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 (* (sqrt re) (pow (sqrt -1) 2)))
(* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re)))
(* (* im (* (sqrt -1) (* (sqrt -1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(* (sqrt (/ 1 re)) (* (sqrt -1) (sqrt -1/2)))
(* 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))))))))))
(* 2 im)
(* 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)))))))
(* 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))))))
(* -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 (* (sqrt im) (* (sqrt -2) (sqrt -1))))
Outputs
(* 1/2 (* (sqrt im) (sqrt 2)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im))
(+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 im) (*.f64 (*.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/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/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/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)))
(* im (sqrt (/ 1 re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(sqrt re)
(sqrt.f64 re)
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))
(sqrt (/ 1 re))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(* (sqrt (/ 1 re)) (sqrt 1/2))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64))))
(+ (* -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/2 binary64) im) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64))) (*.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 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/64 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/32 binary64))) (sqrt.f64 #s(literal 1/2 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 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) #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))) (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))) (sqrt.f64 #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 #s(literal 1/2 binary64) im) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (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 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64)))) #s(literal 1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/16 binary64))) (sqrt.f64 #s(literal 1/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 (*.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 #s(literal -1/256 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 #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 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) #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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))))) (pow.f64 (neg.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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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))) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)) #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)) #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64)) (/.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (pow.f64 im #s(literal 4 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im))) (pow.f64 (neg.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)) #s(literal 2 binary64)) (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 (*.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))) (pow.f64 (neg.f64 re) #s(literal 3 binary64)))))
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(*.f64 (sqrt.f64 re) #s(literal 1 binary64))
(* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re)))
(*.f64 (neg.f64 im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (* im (* (sqrt -1) (* (sqrt -1/2) (sqrt 2)))) (sqrt (/ 1 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) im)) (*.f64 (sqrt.f64 #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (sqrt (/ 1 re)) (* (sqrt -1) (sqrt -1/2)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal -1/2 binary64))) (sqrt.f64 #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 (*.f64 im im) #s(literal -1/32 binary64)) (*.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))))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/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 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/32 binary64))) (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 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (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 (fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 re)) #s(literal 1/4 binary64) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 re re)) #s(literal -1/8 binary64) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal -1/4 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.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 (*.f64 im im) #s(literal -1/16 binary64)) (*.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))))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (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 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) #s(literal -1/16 binary64))) (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 (fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 re re)) #s(literal -1/8 binary64) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 re)) #s(literal -1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 im im))) (*.f64 im im))) im)
(* 2 im)
(*.f64 im #s(literal 2 binary64))
(* im (sqrt 2))
(*.f64 (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 #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/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 #s(literal 1/2 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 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)
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64))))
(* -1 (* im (+ (* -1/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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/4 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re re)) (*.f64 (sqrt.f64 im) #s(literal 3/16 binary64))) (pow.f64 (neg.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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64))))
(* -1 (* im (+ (* -1/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 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64)))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64)))) #s(literal -1/2 binary64) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re re)) (*.f64 (sqrt.f64 im) #s(literal 3/8 binary64))) (pow.f64 (neg.f64 im) #s(literal 3 binary64))))))
(* -1 (* (sqrt im) (* (sqrt -2) (sqrt -1))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 im)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 #s(literal -1 binary64)))

rewrite48.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
041281
060265
1155263
0855213
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
22 → 135
Calls
Call 1
Inputs
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im)))
(sqrt.f64 (+.f64 im im))
(+.f64 im im)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(sqrt.f64 re)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
#s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) im)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(pow.f64 re #s(literal -1/2 binary64))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))
Outputs
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (*.f64 im #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 im #s(literal 1/2 binary64)))
(pow.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 #s(literal 0 binary64)) (sqrt.f64 #s(literal 0 binary64)))
(/.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 (fma.f64 im im #s(literal 0 binary64))))
(sqrt.f64 (*.f64 im #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 im #s(literal 2 binary64)))
(*.f64 (*.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 im #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) im)
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64)))) (neg.f64 (fma.f64 im im #s(literal 0 binary64))))
(/.f64 #s(literal 0 binary64) #s(literal 0 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (pow.f64 im #s(literal 3 binary64))) (fma.f64 im im #s(literal 0 binary64)))
(fma.f64 #s(literal 1 binary64) im im)
(fma.f64 im #s(literal 1 binary64) im)
(-.f64 (/.f64 (*.f64 im im) #s(literal 0 binary64)) (/.f64 (*.f64 im im) #s(literal 0 binary64)))
(-.f64 im (neg.f64 im))
(+.f64 (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im #s(literal 0 binary64))) (/.f64 (pow.f64 im #s(literal 3 binary64)) (fma.f64 im im #s(literal 0 binary64))))
(+.f64 im im)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) im)
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(*.f64 #s(literal 1 binary64) (/.f64 im (sqrt.f64 re)))
(*.f64 im (*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 im (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(neg.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (pow.f64 re #s(literal 1/4 binary64)))
(pow.f64 re #s(literal 1/2 binary64))
(sqrt.f64 re)
(exp.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64)))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (/.f64 im (sqrt.f64 re)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (/.f64 im (sqrt.f64 re)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (/.f64 im (sqrt.f64 re))))
#s(approx (/ (* im 1) (sqrt re)) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) im)
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(*.f64 #s(literal 1 binary64) (/.f64 im (sqrt.f64 re)))
(*.f64 im (*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 im (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(neg.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (*.f64 (sqrt.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))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (sqrt.f64 #s(literal 2 binary64))) im)
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) im) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)) im))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im)) (sqrt.f64 re))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) im)
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1 binary64))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) im)
(*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))
(*.f64 im (*.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 im (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re)))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) im)
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) im))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)
(*.f64 #s(literal 1 binary64) (/.f64 im (sqrt.f64 re)))
(*.f64 im (*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 im (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 im (sqrt.f64 re))
(neg.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(*.f64 (pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) (neg.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 re #s(literal -1/4 binary64))) (fabs.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (pow.f64 re #s(literal -1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 re)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 re) #s(literal -1 binary64))
(pow.f64 (*.f64 re re) #s(literal -1/4 binary64))
(pow.f64 re #s(literal -1/2 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 re)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 re)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 re))
(sqrt.f64 (pow.f64 re #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/4 binary64)))
(*.f64 (neg.f64 (pow.f64 re #s(literal -1/4 binary64))) (neg.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (fabs.f64 (pow.f64 re #s(literal -1/4 binary64))) (fabs.f64 (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (pow.f64 re #s(literal -1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 re)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/2 binary64))
(pow.f64 (sqrt.f64 re) #s(literal -1 binary64))
(pow.f64 (*.f64 re re) #s(literal -1/4 binary64))
(pow.f64 re #s(literal -1/2 binary64))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (neg.f64 re)))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 re)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 re))
(sqrt.f64 (pow.f64 re #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 re #s(literal -1 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))) (sinh.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal 1/2 binary64) re) #s(literal 1/4 binary64)) (pow.f64 (/.f64 #s(literal 1/2 binary64) re) #s(literal 1/4 binary64)))
(pow.f64 (/.f64 #s(literal 1/2 binary64) re) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (sqrt.f64 #s(literal -1/2 binary64)) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 re))
(sqrt.f64 (/.f64 #s(literal 1/2 binary64) re))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) re)) #s(literal 1/2 binary64)))

eval92.0ms (1.6%)

Memory
-53.0MiB live, 17.0MiB allocated; 26ms collecting garbage
Compiler

Compiled 4 784 to 762 computations (84.1% saved)

prune12.0ms (0.2%)

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

13 alts after pruning (4 fresh and 9 done)

PrunedKeptTotal
New1450145
Fresh044
Picked055
Done044
Total14513158
Accuracy
100.0%
Counts
158 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
23.1%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))
23.1%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64))
23.0%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))))) #s(literal 1/2 binary64))
23.0%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1/2 binary64) re)))) #s(literal 1/2 binary64))
52.0%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64))
23.1%
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(approx (/ (* im 1) (sqrt re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im))) #s(literal 1/2 binary64))
42.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
55.2%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
51.9%
(*.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 im #s(literal 2 binary64))))))
13.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
30.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
22.9%
#s(approx (* (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
6.4%
#s(literal 0 binary64)
Compiler

Compiled 943 to 379 computations (59.8% saved)

regimes52.0ms (0.9%)

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

7 calls:

8.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))))
7.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
7.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
AccuracySegmentsBranch
67.5%3(*.f64 im im)
76.4%4(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
76.4%4(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
77.4%4(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
77.4%4(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
85.2%4re
67.5%3im
Compiler

Compiled 55 to 45 computations (18.2% saved)

regimes43.0ms (0.8%)

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

1 calls:

42.0ms
re
Results
AccuracySegmentsBranch
85.1%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes5.0ms (0.1%)

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

1 calls:

4.0ms
re
Results
AccuracySegmentsBranch
83.4%3re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes11.0ms (0.2%)

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

5 calls:

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

Compiled 51 to 40 computations (21.6% saved)

regimes2.0ms (0%)

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

1 calls:

2.0ms
re
Results
AccuracySegmentsBranch
72.7%3re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes24.0ms (0.4%)

Memory
-26.6MiB live, 18.6MiB allocated; 3ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(literal 0 binary64)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64))
Outputs
#s(literal 0 binary64)
(*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64))
Calls

7 calls:

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

Compiled 55 to 45 computations (18.2% saved)

regimes8.0ms (0.1%)

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

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal 0 binary64)
Outputs
#s(literal 0 binary64)
Calls

7 calls:

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

Compiled 55 to 45 computations (18.2% saved)

bsearch79.0ms (1.4%)

Memory
20.8MiB live, 67.2MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
6.537040067370985e-29
7.81472856950287e-26
37.0ms
-1.814624387143979e-76
-2.7269430067733273e-95
15.0ms
-2.5160130936273295e+68
-3.010875892381951e+60
Samples
24.0ms371×0valid
8.0ms42×2valid
2.0ms16×1valid
1.0ms3valid
Compiler

Compiled 965 to 792 computations (17.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 24.0ms
ival-hypot: 10.0ms (41.3% of total)
ival-mult: 6.0ms (24.8% of total)
ival-sub: 3.0ms (12.4% of total)
ival-sqrt: 3.0ms (12.4% of total)
adjust: 2.0ms (8.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch30.0ms (0.5%)

Memory
-41.9MiB live, 7.3MiB allocated; 8ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
6.537040067370985e-29
7.81472856950287e-26
1.0ms
-1.814624387143979e-76
-2.7269430067733273e-95
1.0ms
-2.5160130936273295e+68
-3.010875892381951e+60
Compiler

Compiled 957 to 784 computations (18.1% saved)

bsearch18.0ms (0.3%)

Memory
6.8MiB live, 6.8MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
6.537040067370985e-29
7.81472856950287e-26
15.0ms
-8.583284348967148e-9
-2.2461686177098804e-17
Samples
9.0ms144×0valid
Compiler

Compiled 672 to 541 computations (19.5% saved)

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

bsearch21.0ms (0.4%)

Memory
32.9MiB live, 32.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
17.0ms
6.589393254769051e+180
2.5953903272276172e+181
1.0ms
-8.583284348967148e-9
-2.2461686177098804e-17
Samples
5.0ms19×3valid
5.0ms24×2valid
3.0ms22×1valid
1.0ms15×0valid
Compiler

Compiled 460 to 388 computations (15.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-hypot: 5.0ms (45.8% of total)
adjust: 2.0ms (18.3% of total)
ival-mult: 2.0ms (18.3% of total)
ival-sqrt: 1.0ms (9.2% of total)
ival-sub: 1.0ms (9.2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch24.0ms (0.4%)

Memory
-26.7MiB live, 16.8MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
6.589393254769051e+180
2.5953903272276172e+181
22.0ms
-8.583284348967148e-9
-2.2461686177098804e-17
Samples
18.0ms80×0valid
Compiler

Compiled 474 to 402 computations (15.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-mult: 1.0ms (29.2% of total)
ival-hypot: 1.0ms (29.2% of total)
ival-sqrt: 1.0ms (29.2% of total)
ival-sub: 0.0ms (0% 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)

bsearch22.0ms (0.4%)

Memory
36.7MiB live, 36.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
19.0ms
5.460787814533699e-211
7.097838241351132e-209
Samples
6.0ms22×3valid
4.0ms65×0valid
3.0ms16×2valid
1.0ms1valid
Compiler

Compiled 165 to 154 computations (6.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-hypot: 5.0ms (44.5% of total)
adjust: 2.0ms (17.8% of total)
ival-mult: 2.0ms (17.8% of total)
ival-sub: 1.0ms (8.9% of total)
ival-sqrt: 1.0ms (8.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

simplify69.0ms (1.2%)

Memory
-17.4MiB live, 72.6MiB allocated; 9ms collecting garbage
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068356
186356
2135356
3200356
4249356
5278356
6440356
72074356
83272356
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 re #s(literal -184999999999999999051170034965200451229795886250457965345189608292352 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 -14091255496643/146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 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 3902630409742859/696898287454081973172991196020261297061888 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 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64)))))
(if (<=.f64 re #s(literal -184999999999999999051170034965200451229795886250457965345189608292352 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 -14091255496643/146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 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 3902630409742859/696898287454081973172991196020261297061888 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 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64)))))
(if (<=.f64 re #s(literal -7978910409456553/2417851639229258349412352 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 3902630409742859/696898287454081973172991196020261297061888 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 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -7978910409456553/2417851639229258349412352 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 8500000000000000769645800010913551178511502684655959757599409174558350142795062262300119114601805636561345340434534065949249157041663606399967609262093081289657464023394458575831040 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))))) #s(literal 0 binary64)))
(if (<=.f64 re #s(literal -7253554917687775/4835703278458516698824704 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 8500000000000000769645800010913551178511502684655959757599409174558350142795062262300119114601805636561345340434534065949249157041663606399967609262093081289657464023394458575831040 binary64)) (*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(if (<=.f64 im #s(literal 5626267195456213/2961193260766427870080908753323559866441509279473679754522422863056280045864824078237301652581494289303756200212728639995902214134435299666298460531313288000496778442422580538845568248046109094286466596972878396512780851085312 binary64)) #s(literal 0 binary64) (*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64)))
#s(literal 0 binary64)
Outputs
(if (<=.f64 re #s(literal -184999999999999999051170034965200451229795886250457965345189608292352 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 -14091255496643/146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 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 3902630409742859/696898287454081973172991196020261297061888 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 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im)) #s(literal 1/2 binary64)))))
(if (<=.f64 re #s(literal -184999999999999999051170034965200451229795886250457965345189608292352 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 -14091255496643/146783911423364576743092537299333564210980159306769991919205685720763064069663027716481187399048043939495936 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 3902630409742859/696898287454081973172991196020261297061888 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 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64)))))
(if (<=.f64 re #s(literal -7978910409456553/2417851639229258349412352 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 3902630409742859/696898287454081973172991196020261297061888 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 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (/.f64 im (sqrt.f64 re))) #s(literal 1/2 binary64))))
(if (<=.f64 re #s(literal -7978910409456553/2417851639229258349412352 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 8500000000000000769645800010913551178511502684655959757599409174558350142795062262300119114601805636561345340434534065949249157041663606399967609262093081289657464023394458575831040 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))))) #s(literal 0 binary64)))
(if (<=.f64 re #s(literal -7253554917687775/4835703278458516698824704 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 8500000000000000769645800010913551178511502684655959757599409174558350142795062262300119114601805636561345340434534065949249157041663606399967609262093081289657464023394458575831040 binary64)) (*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64)) #s(literal 0 binary64)))
(if (<=.f64 im #s(literal 5626267195456213/2961193260766427870080908753323559866441509279473679754522422863056280045864824078237301652581494289303756200212728639995902214134435299666298460531313288000496778442422580538845568248046109094286466596972878396512780851085312 binary64)) #s(literal 0 binary64) (*.f64 #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im))) #s(literal 1/2 binary64)))
#s(literal 0 binary64)

derivations718.0ms (12.8%)

Memory
18.5MiB live, 739.2MiB allocated; 70ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05583037
120102884
083732729
038275
057240
1147240
2747110
09553110
01253
02051
16751
254427
0943415
04632634
116612487
276812469
083152336
037237
061238
1147234
280690
01008478
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
iter limit
node limit
iter limit
iter limit
node limit
Compiler

Compiled 356 to 69 computations (80.6% saved)

preprocess66.0ms (1.2%)

Memory
-29.9MiB live, 111.5MiB allocated; 13ms collecting garbage
Remove

(abs im)

Compiler

Compiled 912 to 248 computations (72.8% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...