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

Time bar (total: 6.4s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

analyze86.0ms (1.3%)

Memory
9.8MiB live, 126.9MiB allocated
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.4s (21.9%)

Memory
13.0MiB live, 1 755.2MiB allocated
Samples
595.0ms6 256×0valid
176.0ms788×2valid
156.0ms450×3valid
152.0ms762×1valid
Precisions
Click to see histograms. Total time spent on operations: 688.0ms
ival-hypot: 288.0ms (41.8% of total)
ival-mult: 140.0ms (20.3% of total)
ival-sqrt: 84.0ms (12.2% of total)
ival-sub: 66.0ms (9.6% of total)
adjust: 52.0ms (7.6% of total)
ival->: 40.0ms (5.8% of total)
exact: 13.0ms (1.9% of total)
ival-assert: 4.0ms (0.6% of total)
Bogosity

explain249.0ms (3.9%)

Memory
26.9MiB live, 268.7MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1270-3(-7.150104916654742e-158 1.1062412154957885e-181)(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
310-0-(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
230-2(563969068.2720736 1.0443736185782117e-152)(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-rescue1120
(+.f64 (*.f64 re re) (*.f64 im im))overflow112
(*.f64 re re)overflow56
(*.f64 im im)overflow70
-.f64(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)cancellation310
sqrt.f64(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))uflow-rescue210
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))underflow31
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))underflow10
(*.f64 re re)underflow65
(*.f64 im im)underflow50
(+.f64 (*.f64 re re) (*.f64 im im))underflow12
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)underflow31
sqrt.f64(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))uflow-rescue120
(+.f64 (*.f64 re re) (*.f64 im im))underflow12
(*.f64 re re)underflow65
(*.f64 im im)underflow50
Confusion
Predicted +Predicted -
+1562
-098
Precision
1.0
Recall
0.9873417721518988
Confusion?
Predicted +Predicted MaybePredicted -
+15602
-0098
Precision?
1.0
Recall?
0.9873417721518988
Freqs
test
numberfreq
0100
1136
220
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
75.0ms58×2valid
35.0ms388×0valid
32.0ms44×1valid
8.0ms22×3valid
Compiler

Compiled 169 to 40 computations (76.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 69.0ms
ival-add: 26.0ms (37.7% of total)
ival-mult: 15.0ms (21.8% of total)
ival-hypot: 14.0ms (20.3% of total)
ival-sqrt: 5.0ms (7.3% of total)
adjust: 4.0ms (5.8% of total)
ival-sub: 3.0ms (4.4% of total)
exact: 1.0ms (1.5% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess85.0ms (1.3%)

Memory
-28.0MiB live, 52.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03077
17175
215275
328575
442875
551775
664475
785775
899275
01215
02015
12515
23615
35215
47315
59815
615415
725515
834615
939715
1046315
1147715
1249315
1351315
1454315
1558515
1659915
1760115
060110
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
Symmetry

(abs im)

Compiler

Compiled 15 to 12 computations (20% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
41.7%
(*.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)

simplify22.0ms (0.3%)

Memory
24.3MiB live, 24.3MiB allocated
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
12575
23675
35275
47375
59875
615475
725575
834675
939775
1046375
1147775
1249375
1351375
1454375
1558575
1659975
1760175
060149
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

localize111.0ms (1.7%)

Memory
-1.6MiB live, 37.8MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
accuracy5.030071071280775
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
accuracy7.054642406431107
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
accuracy29.016814908388923
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Samples
85.0ms194×0valid
7.0ms29×2valid
4.0ms11×3valid
4.0ms22×1valid
Compiler

Compiled 77 to 14 computations (81.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 90.0ms
ival-mult: 74.0ms (82.7% of total)
ival-hypot: 7.0ms (7.8% of total)
adjust: 2.0ms (2.2% of total)
ival-sub: 2.0ms (2.2% of total)
ival-sqrt: 2.0ms (2.2% of total)
ival-add: 1.0ms (1.1% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series51.0ms (0.8%)

Memory
-26.7MiB live, 11.9MiB allocated
Counts
6 → 113
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Outputs
im
(+ im (* 1/2 (/ (pow re 2) im)))
(+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ im (* (pow re 2) (+ (* (pow re 2) (- (* 1/16 (/ (pow re 2) (pow im 5))) (* 1/8 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(pow im 2)
(+ (pow im 2) (pow re 2))
(* 1/2 (* (sqrt im) (sqrt 2)))
(+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))))
(+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(* (sqrt im) (sqrt 2))
(+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/16 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))) (* (sqrt im) (sqrt 2)))
(+ im (* -1 re))
(+ im (* re (- (* 1/2 (/ re im)) 1)))
(+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))
(* 2 im)
(+ (* -2 re) (* 2 im))
(+ (* 2 im) (* re (- (/ re im) 2)))
(+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))
re
(* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))
(* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(pow re 2)
(* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/16 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/512 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/32 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(* 1/2 (/ (pow im 2) re))
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)
(/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)
(/ (+ (* -1/2 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2))))) re)
(/ (pow im 2) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)
(/ (+ (* -1 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow re 6))) (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2)))) re)
(* -1 re)
(* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/8 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/32 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/8 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2)))))))
(* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/32 (* (/ (* (pow im 4) (sqrt -1)) (pow (sqrt 2) 2)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))
(* -2 re)
(* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))
(* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (+ (* 1/16 (/ (pow im 6) (pow re 6))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
(* -4 re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (+ (* 1/8 (/ (pow im 6) (pow re 6))) (/ (pow im 2) (pow re 2)))))))
(+ re (* 1/2 (/ (pow im 2) re)))
(+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))
(+ re (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re)))))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/2 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))) (* (pow im 2) (+ (* -1/16 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/2 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/2 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/128 (/ (pow im 2) (pow re 7))) (* 1/16 (/ 1 (pow re 5))))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))
(* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ 1 (* -1 (/ re im))))
(* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))
(* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))
(* im (+ 2 (* -2 (/ re im))))
(* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* -1 im)
(* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))
(* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (+ (* 1/16 (/ (pow re 6) (pow im 6))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
(* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/4 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ 1 (/ re im))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))
(* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))
(* -2 im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
Calls

6 calls:

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

simplify219.0ms (3.4%)

Memory
27.9MiB live, 104.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

rewrite187.0ms (2.9%)

Memory
14.1MiB live, 89.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01265
02065
15665
237465
3420865
0840738
Stop Event
iter limit
node limit
iter limit
Counts
6 → 292
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Outputs
(*.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)))
(*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1/2 binary64)))
(*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)))
(pow.f64 (/.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal -1 binary64))
(pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))) #s(literal -1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 8 binary64)) #s(literal 1/8 binary64))
(pow.f64 (sqrt.f64 (hypot.f64 im re)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/4 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (neg.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (hypot.f64 (*.f64 im im) (*.f64 re re)) (sqrt.f64 (fma.f64 im im (*.f64 (neg.f64 re) re))))
(/.f64 (sqrt.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (sqrt.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (sqrt.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))))
(/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (hypot.f64 im re))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(fabs.f64 (hypot.f64 im re))
(hypot.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 re)))
(hypot.f64 (exp.f64 (log.f64 im)) (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)) im)
(hypot.f64 (neg.f64 re) (exp.f64 (log.f64 im)))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 im (exp.f64 (log.f64 re)))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (exp.f64 (log.f64 im)))
(hypot.f64 re im)
(exp.f64 (fma.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/4 binary64) (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 im re))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 1 binary64)))
(exp.f64 (log.f64 (hypot.f64 im re)))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (pow.f64 (*.f64 im (hypot.f64 im re)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))))
(*.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64)))))
(*.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (pow.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 re #s(literal 12 binary64)))) (fma.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (-.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (pow.f64 re #s(literal 8 binary64))))
(*.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 im re)) (+.f64 im re))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (sqrt.f64 (hypot.f64 im re)))
(*.f64 (sqrt.f64 (hypot.f64 im re)) (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)))
(*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (fma.f64 im im (*.f64 (neg.f64 re) re)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))
(*.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))
(*.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (pow.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(*.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))))
(*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)))
(*.f64 (hypot.f64 im re) (hypot.f64 im re))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (/.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (*.f64 (-.f64 re im) (+.f64 im re))))
(*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))))
(pow.f64 (/.f64 (fma.f64 im im (*.f64 (neg.f64 re) re)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) #s(literal -1 binary64))
(pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 (sqrt.f64 (hypot.f64 im re)) #s(literal 4 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (hypot.f64 im re) #s(literal 2 binary64))
(pow.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (+.f64 im re)) (-.f64 re im))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64))) (-.f64 (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (hypot.f64 im re)) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (hypot.f64 im re)) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (hypot.f64 im re) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (hypot.f64 im re) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))) (neg.f64 (fma.f64 im im (*.f64 (neg.f64 re) re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (neg.f64 (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))))) (neg.f64 (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64))) (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (*.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re))) (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(/.f64 (*.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))))) (*.f64 (sqrt.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))) (sqrt.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(/.f64 (-.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 2 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 8 binary64)) (pow.f64 im #s(literal 8 binary64))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 im im (*.f64 (neg.f64 re) re)))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (*.f64 (-.f64 re im) (+.f64 im re)) (+.f64 (+.f64 (pow.f64 (*.f64 im re) #s(literal 4 binary64)) (pow.f64 im #s(literal 8 binary64))) (pow.f64 re #s(literal 8 binary64)))))
(/.f64 (-.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))))
(/.f64 (+.f64 (pow.f64 im #s(literal 18 binary64)) (pow.f64 re #s(literal 18 binary64))) (*.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) (-.f64 (+.f64 (pow.f64 re #s(literal 12 binary64)) (pow.f64 im #s(literal 12 binary64))) (pow.f64 (*.f64 im re) #s(literal 6 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re))))
(/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 im im (*.f64 (neg.f64 re) re)) (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (hypot.f64 im re) #s(literal -2 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 (-.f64 re im) (+.f64 im re)))
(/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (-.f64 re im) (+.f64 im re))))
(neg.f64 (/.f64 (neg.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64)))) (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(neg.f64 (/.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (neg.f64 (*.f64 (-.f64 re im) (+.f64 im re)))))
(neg.f64 (/.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (neg.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64)))) (+.f64 (pow.f64 (*.f64 im (hypot.f64 im re)) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (*.f64 (neg.f64 re) #s(literal -1 binary64)) re (*.f64 im im))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (+.f64 im re)) (/.f64 re (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 (*.f64 re re) (+.f64 im re)) (/.f64 (*.f64 re re) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (/.f64 re (+.f64 im re)) (/.f64 (pow.f64 re #s(literal 3 binary64)) (-.f64 re im)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (exp.f64 (log.f64 im)) (exp.f64 (log.f64 im)) (*.f64 re re))
(fma.f64 (exp.f64 (log.f64 re)) (exp.f64 (log.f64 re)) (*.f64 im im))
(fma.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) re) (*.f64 im im))
(fma.f64 #s(literal 1 binary64) (*.f64 re re) (*.f64 im im))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 (pow.f64 re #s(literal 3 binary64)) (/.f64 re (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 re re) (/.f64 (*.f64 re re) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 re (/.f64 (pow.f64 re #s(literal 3 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(fma.f64 re re (*.f64 im im))
(sqrt.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)))
(-.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (fma.f64 im im (*.f64 (neg.f64 re) re))) (/.f64 (pow.f64 re #s(literal 4 binary64)) (fma.f64 im im (*.f64 (neg.f64 re) re))))
(-.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))))
(fabs.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal -2 binary64))) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 im re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(+.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re))) (neg.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) (*.f64 (-.f64 re im) (+.f64 im re)))))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (-.f64 (hypot.f64 im re) re)))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 im re) re)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 (-.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (sqrt.f64 (+.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3/2 binary64)))) (sqrt.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 im re) re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 (-.f64 (hypot.f64 im re) re)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))) (sqrt.f64 (+.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (hypot.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (pow.f64 re #s(literal 3/2 binary64))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(sqrt.f64 (exp.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(exp.f64 (fma.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/4 binary64) (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/4 binary64))))
(exp.f64 (fma.f64 (log.f64 (-.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64) (*.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(exp.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64) (*.f64 (log.f64 (-.f64 (hypot.f64 im re) re)) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))))) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (-.f64 (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 (+.f64 (hypot.f64 im re) re) re) #s(literal 2 binary64)))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (+.f64 (hypot.f64 im re) 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 (*.f64 (+.f64 (hypot.f64 im re) re) re) #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) (-.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))))
(*.f64 (/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (-.f64 (hypot.f64 im re) re))
(*.f64 (/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (hypot.f64 im re)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(*.f64 (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))
(*.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (pow.f64 (neg.f64 (+.f64 (hypot.f64 im re) re)) #s(literal -1 binary64)))
(*.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 (neg.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (-.f64 (hypot.f64 im re) re))
(*.f64 (+.f64 (hypot.f64 im re) re) (/.f64 (-.f64 (hypot.f64 im re) re) (+.f64 (hypot.f64 im re) re)))
(*.f64 (+.f64 (hypot.f64 im re) re) (*.f64 (-.f64 (hypot.f64 im re) re) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64))))
(*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(*.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 (-.f64 (hypot.f64 im re) re) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(*.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (-.f64 (hypot.f64 im re) re) (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(pow.f64 (/.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64))
(pow.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64))) (fma.f64 re re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 1 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) #s(literal 2 binary64)) (pow.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re))) #s(literal 2 binary64))) (+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal 2 binary64)) (pow.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) 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)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (neg.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))) (+.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re))) #s(literal 2 binary64)) (*.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) 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 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal 3 binary64))) (+.f64 (pow.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal 2 binary64)) (+.f64 (pow.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) 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)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))))
(/.f64 (neg.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (+.f64 (hypot.f64 im re) re))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(/.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 1 binary64)) (+.f64 (hypot.f64 im re) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1 binary64)) (*.f64 (fma.f64 re re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (+.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) (+.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1 binary64)) (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) #s(literal 1 binary64)) (*.f64 (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64))) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) (*.f64 (+.f64 (hypot.f64 im re) re) (*.f64 re re))) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (*.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 3 binary64)))) (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) 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 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 (+.f64 (hypot.f64 im re) re) (fma.f64 re re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 #s(literal -1 binary64) (neg.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 (+.f64 (hypot.f64 im re) re) (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 2 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 9 binary64)) (pow.f64 re #s(literal 9 binary64))) (*.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (+.f64 (+.f64 (pow.f64 (*.f64 (hypot.f64 im re) re) #s(literal 3 binary64)) (pow.f64 re #s(literal 6 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)))))
(/.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (neg.f64 (+.f64 (hypot.f64 im re) re)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (neg.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (+.f64 (hypot.f64 im re) re))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 re re (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (neg.f64 re) (hypot.f64 im re)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(neg.f64 (/.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (+.f64 (hypot.f64 im re) re)))
(neg.f64 (/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(neg.f64 (/.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (+.f64 (hypot.f64 im re) re))))
(neg.f64 (/.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (neg.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) #s(literal 2 binary64)))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (+.f64 (hypot.f64 im re) re) re)) (neg.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) (-.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))) (neg.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (hypot.f64 im re)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (neg.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(fma.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (-.f64 (hypot.f64 im re) re) (neg.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3/2 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (neg.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (sqrt.f64 (hypot.f64 im re)) (sqrt.f64 (hypot.f64 im re)) (neg.f64 re))
(fma.f64 #s(literal -1 binary64) re (hypot.f64 im re))
(fma.f64 (sqrt.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1/2 binary64)) (neg.f64 re))
(fma.f64 (hypot.f64 (pow.f64 im #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1/2 binary64)) (neg.f64 re))
(fma.f64 (-.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 (*.f64 (-.f64 re im) (+.f64 im re)) #s(literal -1 binary64)) (+.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)) (neg.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (+.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 (pow.f64 (+.f64 (-.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 (*.f64 im re) #s(literal 2 binary64))) (pow.f64 re #s(literal 4 binary64))) #s(literal -1 binary64)) (+.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(fma.f64 (hypot.f64 im re) (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (neg.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (hypot.f64 im re) (/.f64 (hypot.f64 im re) (+.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (/.f64 (hypot.f64 im re) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (neg.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))))
(fma.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) (neg.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(fma.f64 re #s(literal -1 binary64) (hypot.f64 im re))
(-.f64 (+.f64 (hypot.f64 im re) #s(literal 0 binary64)) re)
(-.f64 #s(literal 0 binary64) (-.f64 re (hypot.f64 im re)))
(-.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re))))
(-.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(-.f64 (hypot.f64 im re) re)
(exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64))) #s(literal -1 binary64)))
(+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re)) (neg.f64 (*.f64 re (/.f64 re (+.f64 (hypot.f64 im re) re)))))
(+.f64 (/.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (neg.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) 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 (/.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) (fma.f64 re (-.f64 re (hypot.f64 im re)) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(*.f64 (/.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) (-.f64 (hypot.f64 im re) re))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 4 binary64)) (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) #s(literal 2 binary64)))) (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)) (*.f64 (+.f64 (hypot.f64 im re) re) re)))
(*.f64 (/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) #s(literal 3 binary64)) (pow.f64 (hypot.f64 im re) #s(literal 6 binary64)))) (fma.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) (-.f64 (*.f64 (+.f64 (hypot.f64 im re) re) re) (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (pow.f64 (hypot.f64 im re) #s(literal 4 binary64))))
(*.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(*.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (/.f64 #s(literal 2 binary64) (+.f64 (hypot.f64 im re) re)))
(*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (pow.f64 (+.f64 (hypot.f64 im re) re) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 2 binary64) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #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 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal 2 binary64)))
(*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 im re) re))
(pow.f64 (/.f64 (+.f64 (hypot.f64 im re) re) (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))) #s(literal -1 binary64))
(pow.f64 (/.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64))) #s(literal -1 binary64))
(/.f64 (*.f64 (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))) #s(literal 2 binary64)) (neg.f64 (+.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64)))) #s(literal 2 binary64)) (neg.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))) (neg.f64 (+.f64 (hypot.f64 im re) re)))
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))))) (neg.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (hypot.f64 im re)) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal -2 binary64) re) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 2 binary64) (hypot.f64 im re)) (*.f64 #s(literal -2 binary64) re)))
(/.f64 (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (hypot.f64 im re)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(literal -2 binary64) re) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(literal 2 binary64) (hypot.f64 im re)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal -2 binary64) re) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 2 binary64) (hypot.f64 im re)) (*.f64 #s(literal -2 binary64) re)))))
(/.f64 (neg.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))) (neg.f64 (+.f64 (hypot.f64 im re) re)))
(/.f64 (neg.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64))) (neg.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64)))))
(/.f64 (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64)) (+.f64 (hypot.f64 im re) re))
(/.f64 (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64)) (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (+.f64 (hypot.f64 im re) re) (*.f64 (fma.f64 (neg.f64 re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (+.f64 (hypot.f64 im re) re) re (pow.f64 (hypot.f64 im re) #s(literal 2 binary64))) (*.f64 (-.f64 (pow.f64 (hypot.f64 im re) #s(literal 3 binary64)) (pow.f64 re #s(literal 3 binary64))) #s(literal 2 binary64))))
(/.f64 #s(literal 2 binary64) (pow.f64 (-.f64 (hypot.f64 im re) re) #s(literal -1 binary64)))
(fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal 2 binary64) (hypot.f64 im re)))
(fma.f64 (*.f64 #s(literal 2 binary64) (sqrt.f64 (hypot.f64 im re))) (sqrt.f64 (hypot.f64 im re)) (*.f64 #s(literal -2 binary64) re))
(fma.f64 (sqrt.f64 (hypot.f64 im re)) (*.f64 (sqrt.f64 (hypot.f64 im re)) #s(literal 2 binary64)) (*.f64 #s(literal -2 binary64) re))
(fma.f64 #s(literal -1 binary64) (*.f64 re #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (hypot.f64 im re)))
(fma.f64 (neg.f64 re) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (hypot.f64 im re)))
(fma.f64 #s(literal 2 binary64) (neg.f64 re) (*.f64 #s(literal 2 binary64) (hypot.f64 im re)))
(fma.f64 #s(literal 2 binary64) (hypot.f64 im re) (*.f64 #s(literal -2 binary64) re))
(fma.f64 (hypot.f64 im re) #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) re))
(+.f64 (*.f64 #s(literal -2 binary64) re) (*.f64 #s(literal 2 binary64) (hypot.f64 im re)))
(+.f64 (*.f64 #s(literal 2 binary64) (hypot.f64 im re)) (*.f64 #s(literal -2 binary64) re))

eval144.0ms (2.2%)

Memory
-28.1MiB live, 60.5MiB allocated
Compiler

Compiled 11 995 to 2 495 computations (79.2% saved)

prune9.0ms (0.1%)

Memory
19.1MiB live, 19.1MiB allocated
Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New3967403
Fresh000
Picked101
Done000
Total3977404
Accuracy
99.8%
Counts
404 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
16.3%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
54.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
25.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
19.8%
(*.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)))
25.6%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))))
25.6%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 364 to 274 computations (24.7% saved)

simplify220.0ms (3.4%)

Memory
-16.7MiB live, 22.8MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
cost-diff0
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
cost-diff0
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
cost-diff0
(/.f64 (*.f64 im im) re)
cost-diff0
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
cost-diff0
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
cost-diff0
(*.f64 #s(literal 2 binary64) im)
cost-diff0
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
cost-diff0
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
cost-diff0
(*.f64 #s(literal -4 binary64) re)
cost-diff0
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
cost-diff0
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
cost-diff0
#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
041337
063337
190337
2140337
3289337
4449337
5606337
6826337
71126337
82371337
93179337
103476337
113812337
124284337
134386337
145378337
155772337
165777337
175777337
185777337
195777337
205777337
215779337
225783337
235783337
245795337
05795267
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
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) re)
#s(literal -4 binary64)
re
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
#s(literal 1/2 binary64)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
im
(sqrt.f64 #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
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
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) re)
#s(literal -4 binary64)
re
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) im)
(*.f64 im #s(literal 2 binary64))
#s(literal 2 binary64)
im
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)
im
(sqrt.f64 #s(literal 1/2 binary64))
(sqrt.f64 #s(literal 2 binary64))
#s(literal 2 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re

localize117.0ms (1.8%)

Memory
-18.5MiB live, 100.3MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0859375
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
accuracy0.2109375
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
accuracy0.23828125
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
accuracy2.6539855698897625
(/.f64 (*.f64 im im) re)
accuracy5.030071071280775
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
accuracy16.13595104526601
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
accuracy0.0
(*.f64 #s(literal 2 binary64) im)
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
accuracy5.030071071280775
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
accuracy14.640733013969584
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
accuracy0.0
(*.f64 #s(literal -4 binary64) re)
accuracy5.030071071280775
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
accuracy32.1226373492223
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
accuracy0.0
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
accuracy0.00390625
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))
accuracy5.030071071280775
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))
accuracy15.181671747407359
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))
Samples
37.0ms125×0invalid
19.0ms29×2valid
19.0ms11×3valid
12.0ms69×0valid
6.0ms22×1valid
Compiler

Compiled 266 to 26 computations (90.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.0ms
ival-mult: 13.0ms (25.9% of total)
adjust: 10.0ms (19.9% of total)
ival-sub: 9.0ms (17.9% of total)
ival-hypot: 8.0ms (15.9% of total)
ival-sqrt: 7.0ms (14% of total)
ival-div: 3.0ms (6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series23.0ms (0.4%)

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

6 calls:

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

simplify185.0ms (2.9%)

Memory
4.9MiB live, 159.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

rewrite222.0ms (3.5%)

Memory
-7.2MiB live, 190.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041302
063302
1153298
2710279
36612279
08262209
Stop Event
iter limit
node limit
iter limit
Counts
21 → 202
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) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 #s(literal -4 binary64) re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) im)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) #s(literal 1/4 binary64))) (pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))
(*.f64 (pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 1/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(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #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 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
(*.f64 (sqrt.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))
(pow.f64 (exp.f64 (log.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)) #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(*.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)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64))) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(approx (* 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 (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) #s(literal 1/2 binary64))
(pow.f64 (*.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))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 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 (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))) #s(literal 1/2 binary64)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))
(*.f64 (*.f64 #s(literal -4 binary64) re) #s(literal 1 binary64))
(*.f64 #s(literal -4 binary64) re)
(*.f64 re #s(literal -4 binary64))
(/.f64 (*.f64 (neg.f64 re) #s(literal -4 binary64)) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) (neg.f64 re)) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) re) #s(literal 1 binary64))
(/.f64 #s(literal -4 binary64) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64))) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))) #s(literal 1/2 binary64)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im #s(literal 2 binary64)))
(*.f64 im #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) im)
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64))) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)))
(pow.f64 (exp.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) im)) (/.f64 #s(literal -1 binary64) re))
(*.f64 (*.f64 (*.f64 im im) (pow.f64 re #s(literal -1/2 binary64))) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) im) (/.f64 im re))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) im))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/2 binary64))) (*.f64 im (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 (*.f64 im im) #s(literal 1 binary64)) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (/.f64 (*.f64 im im) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) re))
(*.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) (/.f64 im re))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 (neg.f64 im) re))
(*.f64 (*.f64 (neg.f64 im) (/.f64 im re)) #s(literal -1 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) im))
(*.f64 (neg.f64 im) (/.f64 im (neg.f64 re)))
(*.f64 (neg.f64 im) (*.f64 im (/.f64 #s(literal -1 binary64) re)))
(*.f64 (/.f64 im re) (/.f64 im #s(literal 1 binary64)))
(*.f64 (/.f64 im re) im)
(*.f64 (*.f64 (neg.f64 im) im) (/.f64 #s(literal -1 binary64) re))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 im im)))
(*.f64 #s(literal -1 binary64) (*.f64 (neg.f64 im) (/.f64 im re)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im im)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 im im))
(*.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1 binary64))
(*.f64 (*.f64 im im) (pow.f64 re #s(literal -1 binary64)))
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1 binary64))
(/.f64 (/.f64 (*.f64 (neg.f64 im) im) #s(literal -1 binary64)) re)
(/.f64 (*.f64 (*.f64 (neg.f64 im) im) #s(literal 1 binary64)) (neg.f64 re))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) im)) (neg.f64 re))
(/.f64 (*.f64 #s(literal 1 binary64) im) (/.f64 re im))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))
(/.f64 #s(literal -1 binary64) (*.f64 (neg.f64 re) (pow.f64 im #s(literal -2 binary64))))
(/.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 im #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 im im)))
(/.f64 (/.f64 (*.f64 im im) re) #s(literal 1 binary64))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(neg.f64 (/.f64 #s(literal -1 binary64) (/.f64 re (*.f64 im im))))
(neg.f64 (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) (/.f64 im re))))
(neg.f64 (*.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 im im)))
(neg.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (*.f64 (neg.f64 im) (/.f64 im re)))
(-.f64 #s(literal 0 binary64) (*.f64 (neg.f64 im) (/.f64 im re)))
(exp.f64 (log.f64 (/.f64 (*.f64 im im) re)))
(exp.f64 (*.f64 (log.f64 (/.f64 re (*.f64 im im))) #s(literal -1 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
(*.f64 (*.f64 (/.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/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 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (sqrt.f64 #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))
(*.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im) #s(literal 1 binary64))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64))) im)
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im) (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 im (pow.f64 re #s(literal -1/2 binary64))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) (*.f64 im (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (/.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im) (sqrt.f64 re)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (*.f64 #s(literal 1 binary64) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64)) (/.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 re)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 im #s(literal 1/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 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im) (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))) #s(literal 1 binary64))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im) (sqrt.f64 re)))
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64))))
(*.f64 im (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64))))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (pow.f64 re #s(literal -1/2 binary64))))
(/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 im #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal -1 binary64)) (neg.f64 (sqrt.f64 re)))
(/.f64 (neg.f64 (*.f64 im #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64)) (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 2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) im)
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64))) im)
(*.f64 (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/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 (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) im) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)))
(*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 1/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 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im))
(*.f64 (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) im) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64)))
(*.f64 im (*.f64 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64))))
(*.f64 im #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 #s(literal 1 binary64) im) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im))
(*.f64 #s(literal 1/2 binary64) im)
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (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 (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 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 im #s(literal 1/2 binary64))))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 im (pow.f64 #s(literal 1/2 binary64) #s(literal 3/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.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 (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 (sqrt.f64 #s(literal 1/2 binary64)) im)
(*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))

eval95.0ms (1.5%)

Memory
-3.7MiB live, 80.0MiB allocated
Compiler

Compiled 9 143 to 1 342 computations (85.3% saved)

prune26.0ms (0.4%)

Memory
-8.3MiB live, 30.6MiB allocated
Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2866292
Fresh202
Picked235
Done000
Total2909299
Accuracy
100.0%
Counts
299 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
54.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
25.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
15.7%
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
25.5%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))))
25.7%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
Compiler

Compiled 343 to 264 computations (23% saved)

simplify231.0ms (3.6%)

Memory
-3.9MiB live, 73.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
033228
048224
170224
2121224
3196224
4271224
5347224
6402224
7501224
8592224
9647224
10733224
11770224
12808224
13861224
14886224
15899224
161084224
172024224
182529224
192783224
203295224
213679224
223971224
234659224
244920224
254975224
265003224
275013224
285073224
295409224
305667224
315667224
325683224
335683224
345683224
05683199
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 re)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
im
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))
#s(literal 1/2 binary64)
(sqrt.f64 re)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64))))
#s(literal 1 binary64)
(/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))
(sqrt.f64 re)
re
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
(sqrt.f64 (/.f64 #s(literal 2 binary64) re))
(/.f64 #s(literal 2 binary64) re)
#s(literal 2 binary64)
re
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))
Outputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 re)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
im
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))
#s(literal 1/2 binary64)
(sqrt.f64 re)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
#s(literal 1 binary64)
(/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
(sqrt.f64 re)
re
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
(sqrt.f64 (/.f64 #s(literal 2 binary64) re))
(/.f64 #s(literal 2 binary64) re)
#s(literal 2 binary64)
re
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))

localize148.0ms (2.3%)

Memory
-7.5MiB live, 153.0MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.11328125
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
accuracy0.209316259768442
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
accuracy0.29296662708361076
(sqrt.f64 (/.f64 #s(literal 2 binary64) re))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
accuracy0.0
(sqrt.f64 re)
accuracy0.0859375
(/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))
accuracy0.26510184010691734
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64))))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))))
accuracy0.0
(*.f64 im #s(literal 1/2 binary64))
accuracy0.078125
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
accuracy0.0859375
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
accuracy0.0
(sqrt.f64 re)
accuracy0.0859375
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
accuracy0.1640625
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
accuracy0.0
(*.f64 im #s(literal 1/2 binary64))
accuracy0.0
(sqrt.f64 re)
accuracy0.0703125
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
Samples
32.0ms71×0valid
29.0ms20×1valid
24.0ms29×2valid
22.0ms125×0invalid
6.0ms11×3valid
Compiler

Compiled 186 to 27 computations (85.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 72.0ms
ival-sqrt: 31.0ms (42.8% of total)
ival-mult: 22.0ms (30.4% of total)
ival-hypot: 8.0ms (11% of total)
ival-div: 7.0ms (9.7% of total)
adjust: 2.0ms (2.8% of total)
ival-sub: 2.0ms (2.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series41.0ms (0.6%)

Memory
14.7MiB live, 56.4MiB allocated
Counts
17 → 37
Calls
Call 1
Inputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(*.f64 im #s(literal 1/2 binary64))
(sqrt.f64 re)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))))
(/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
(sqrt.f64 (/.f64 #s(literal 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))))))))
(* 1/2 (* im (sqrt (/ 1 re))))
(sqrt re)
(* 1/2 (sqrt (/ 1 re)))
(sqrt (/ 1 re))
(* 2 (* (/ 1 im) (sqrt re)))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(* 1/2 (* (* im (sqrt 2)) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (sqrt 2))
(+ (* -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/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) (pow (sqrt -1) 2)))
(* 1/2 (* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(* -2 (* (/ (pow (sqrt -1) 2) im) (sqrt re)))
(* 1/2 (* (* im (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (sqrt (/ 1 re))))
(* 1/2 (* (* im (* (sqrt -2) (sqrt -1))) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (* (sqrt -2) (sqrt -1)))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* 1/2 im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* -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))))))))
Calls

6 calls:

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

simplify222.0ms (3.5%)

Memory
17.1MiB live, 209.1MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02471046
1746958
22789909
35846906
08076874
Stop Event
iter limit
node limit
Counts
37 → 37
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))))))))
(* 1/2 (* im (sqrt (/ 1 re))))
(sqrt re)
(* 1/2 (sqrt (/ 1 re)))
(sqrt (/ 1 re))
(* 2 (* (/ 1 im) (sqrt re)))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(* 1/2 (* (* im (sqrt 2)) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (sqrt 2))
(+ (* -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/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) (pow (sqrt -1) 2)))
(* 1/2 (* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(* -2 (* (/ (pow (sqrt -1) 2) im) (sqrt re)))
(* 1/2 (* (* im (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (sqrt (/ 1 re))))
(* 1/2 (* (* im (* (sqrt -2) (sqrt -1))) (sqrt (/ 1 re))))
(* (sqrt (/ 1 re)) (* (sqrt -2) (sqrt -1)))
(* im (+ (* -1/32 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* 1/4 (* (/ (* (pow im 2) (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))))) (sqrt 1/2)) (sqrt re)))))))
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(* 1/2 im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(* -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))))))))
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))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal -1/4 binary64)) (*.f64 (sqrt.f64 im) #s(literal 1/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 (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/16 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal -1/4 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))) (* re (+ (* 1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))
(fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) #s(literal 1/32 binary64)) re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal 1/16 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal -1/4 binary64)) (*.f64 (sqrt.f64 im) #s(literal 1/2 binary64)))))
(* 1/2 (* im (sqrt (/ 1 re))))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(sqrt re)
(sqrt.f64 re)
(* 1/2 (sqrt (/ 1 re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1/2 binary64))
(sqrt (/ 1 re))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(* 2 (* (/ 1 im) (sqrt re)))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 im #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))))
(* 1/2 (* (* im (sqrt 2)) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (sqrt (/ 1 re)) (sqrt 2))
(*.f64 (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 (*.f64 im #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 (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)))) (/.f64 #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/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 (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)))) (/.f64 #s(literal -1/32 binary64) (sqrt.f64 #s(literal 1/2 binary64))) (fma.f64 (*.f64 (*.f64 im #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/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)))))))
(+ (* -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 im #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))) (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 (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)))) (/.f64 #s(literal -1/32 binary64) (sqrt.f64 #s(literal 1/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 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(* -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 (-.f64 (/.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 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* -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 (-.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (fma.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/32 binary64) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 im #s(literal 4 binary64)))) (*.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) im))) (pow.f64 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) re)
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(sqrt.f64 re)
(* 1/2 (* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re))))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (sqrt (/ 1 re)) (pow (sqrt -1) 2))
(neg.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* -2 (* (/ (pow (sqrt -1) 2) im) (sqrt re)))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(* 1/2 (* (* im (* (sqrt -2) (* (sqrt -1) (sqrt 1/2)))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* 1/2 (* (* im (* (sqrt -2) (sqrt -1))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (sqrt (/ 1 re)) (* (sqrt -2) (sqrt -1)))
(*.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (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 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (/.f64 #s(literal -1/32 binary64) (sqrt.f64 #s(literal 1/2 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 (fma.f64 (*.f64 (*.f64 im im) (*.f64 #s(literal 1/4 binary64) (sqrt.f64 re))) (*.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 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (/.f64 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 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 (*.f64 #s(literal -1/32 binary64) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (sqrt.f64 re) (fma.f64 #s(literal 1/4 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 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (*.f64 (*.f64 (fma.f64 (/.f64 #s(literal -1/8 binary64) re) (/.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)))) re) (/.f64 #s(literal 5/128 binary64) (pow.f64 re #s(literal 7 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im (/.f64 im (sqrt.f64 #s(literal 1/2 binary64))))) #s(literal -1/4 binary64)))) (*.f64 im im))) (*.f64 im im))) im)
(* 1/2 im)
(*.f64 im #s(literal 1/2 binary64))
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64)) re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64)))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 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)) #s(literal 1/2 binary64))))) im)
(* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (+ (* -1/16 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (+ (* 1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
(*.f64 (fma.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64)) re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64))) (*.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))) 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) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64)) re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64)))))
(* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (+ (* -1/8 (* (sqrt (/ 1 (pow im 5))) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))) re (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 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)) #s(literal 1/2 binary64))))))
(* -1 (* im (+ (* -1 (/ (+ (* 1/16 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2))))) (* 1/8 (* (sqrt im) (* (pow re 2) (* (sqrt -1) (sqrt 2)))))) (pow im 3))) (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
(*.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 im) re) re) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))) #s(literal 3/16 binary64)) (pow.f64 im #s(literal 3 binary64))) (*.f64 (neg.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64)) re (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) #s(literal 1/2 binary64))))) im)

rewrite247.0ms (3.8%)

Memory
-32.8MiB live, 178.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033189
048181
1136180
2703178
36076178
08104153
Stop Event
iter limit
node limit
iter limit
Counts
17 → 628
Calls
Call 1
Inputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(*.f64 im #s(literal 1/2 binary64))
(sqrt.f64 re)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))))
(/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
(sqrt.f64 (/.f64 #s(literal 2 binary64) re))
Outputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -1 binary64))) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im)) #s(literal -1/2 binary64))
(*.f64 (/.f64 im (neg.f64 (sqrt.f64 re))) #s(literal -1/2 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (/.f64 im #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (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 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (/.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 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (neg.f64 im))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1/2 binary64) (/.f64 im (neg.f64 (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 im (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 im #s(literal 2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (/.f64 im #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 im (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 im (sqrt.f64 re)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) im)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(/.f64 (neg.f64 im) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 (neg.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (neg.f64 (sqrt.f64 re)))
(/.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 im (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(neg.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) im))
(neg.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (neg.f64 (neg.f64 im)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) im) #s(literal -1/2 binary64)) (pow.f64 (/.f64 #s(literal 2 binary64) im) #s(literal -1/2 binary64)))
(*.f64 (neg.f64 im) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (neg.f64 im))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 #s(literal 1 binary64) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 im #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (/.f64 im #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (neg.f64 (neg.f64 im)))
(*.f64 #s(literal 1/2 binary64) im)
(pow.f64 (/.f64 #s(literal 2 binary64) im) #s(literal -1 binary64))
(pow.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) im))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal 1 binary64))
(neg.f64 (*.f64 #s(literal -1/2 binary64) im))
(-.f64 #s(literal 0 binary64) (*.f64 #s(literal -1/2 binary64) im))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 2 binary64) im)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (pow.f64 re #s(literal 1/4 binary64)))
(*.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 re)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 re))
(*.f64 (sqrt.f64 re) #s(literal 1 binary64))
(pow.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 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 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(/.f64 (sqrt.f64 (neg.f64 re)) (sqrt.f64 #s(literal -1 binary64)))
(/.f64 (neg.f64 (sqrt.f64 re)) #s(literal -1 binary64))
(/.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(/.f64 #s(literal 1 binary64) (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (sqrt.f64 re) #s(literal 1 binary64))
(neg.f64 (neg.f64 (sqrt.f64 re)))
(sqrt.f64 re)
(-.f64 #s(literal 0 binary64) (neg.f64 (sqrt.f64 re)))
(exp.f64 (neg.f64 (*.f64 (neg.f64 (log.f64 re)) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -1 binary64))) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im)) #s(literal -1/2 binary64))
(*.f64 (/.f64 im (neg.f64 (sqrt.f64 re))) #s(literal -1/2 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (/.f64 im #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (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 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (/.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 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (neg.f64 im))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1/2 binary64) (/.f64 im (neg.f64 (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 im (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 im #s(literal 2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (/.f64 im #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 im (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 im (sqrt.f64 re)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) im)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(/.f64 (neg.f64 im) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 (neg.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (neg.f64 (sqrt.f64 re)))
(/.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 im (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(neg.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) im))
(neg.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal -1/2 binary64)))
(pow.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal -1 binary64))
(/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 #s(literal -1/2 binary64) (neg.f64 (sqrt.f64 re)))
(/.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))
(neg.f64 (/.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) #s(literal 2 binary64))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))))
(neg.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(-.f64 #s(literal 0 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) #s(literal -1 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -1 binary64))) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im)) #s(literal -1/2 binary64))
(*.f64 (/.f64 im (neg.f64 (sqrt.f64 re))) #s(literal -1/2 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (/.f64 im #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (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 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (/.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 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (neg.f64 im))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1/2 binary64) (/.f64 im (neg.f64 (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 im (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 im #s(literal 2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (/.f64 im #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 im (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 im (sqrt.f64 re)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) im)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(/.f64 (neg.f64 im) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 (neg.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (neg.f64 (sqrt.f64 re)))
(/.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 im (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(neg.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) im))
(neg.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (sqrt.f64 (pow.f64 re #s(literal -1/2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -1/2 binary64))))
(*.f64 (pow.f64 (sqrt.f64 re) #s(literal -1/2 binary64)) (pow.f64 (sqrt.f64 re) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal -1 binary64)) (pow.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 re))))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal -1 binary64) re)))
(*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) re) #s(literal 1/2 binary64)))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (pow.f64 #s(literal 1 binary64) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/2 binary64)))
(pow.f64 (*.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 re #s(literal -1 binary64))) #s(literal 1/4 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 re #s(literal -1/2 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (neg.f64 (sqrt.f64 #s(literal -1 binary64))) (neg.f64 (sqrt.f64 (neg.f64 re))))
(/.f64 (*.f64 #s(literal 1 binary64) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.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))
(neg.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(sqrt.f64 (pow.f64 re #s(literal -1 binary64)))
(fabs.f64 (pow.f64 re #s(literal -1/2 binary64)))
(exp.f64 (neg.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 re) #s(literal 1/2 binary64)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 re) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal -1 binary64))) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im)) #s(literal -1/2 binary64))
(*.f64 (/.f64 im (neg.f64 (sqrt.f64 re))) #s(literal -1/2 binary64))
(*.f64 (/.f64 #s(literal -1 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im) #s(literal -1/2 binary64))
(*.f64 (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (/.f64 im #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (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 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 (neg.f64 im) #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 1 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (/.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 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (neg.f64 im))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 (pow.f64 re #s(literal -1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (/.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))
(*.f64 (neg.f64 im) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1/2 binary64) (/.f64 im (neg.f64 (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 im (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) im))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 im #s(literal 2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (/.f64 im #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 im (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (/.f64 im (sqrt.f64 re)))
(pow.f64 (exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))) #s(literal -1 binary64))
(pow.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) im)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 im #s(literal -1 binary64)) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(/.f64 (neg.f64 im) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 (neg.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (neg.f64 (sqrt.f64 re)))
(/.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal 1 binary64))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 im (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(neg.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) im))
(neg.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 (sqrt.f64 re))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal -1 binary64)) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(*.f64 (/.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(*.f64 (/.f64 (/.f64 #s(literal 2 binary64) im) #s(literal -1 binary64)) (neg.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1 binary64)) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64)) (sqrt.f64 re))
(*.f64 (*.f64 (/.f64 #s(literal 2 binary64) im) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))) (/.f64 #s(literal -2 binary64) im))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/4 binary64))) (/.f64 (/.f64 #s(literal 2 binary64) im) (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (/.f64 #s(literal -1 binary64) im) (*.f64 (sqrt.f64 re) #s(literal -2 binary64)))
(*.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) im) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1/2 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) im))
(*.f64 (pow.f64 (/.f64 (sqrt.f64 re) im) #s(literal 1 binary64)) #s(literal 2 binary64))
(*.f64 (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal 1 binary64)) (pow.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)) (pow.f64 (/.f64 #s(literal -2 binary64) im) #s(literal 1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 2 binary64) im) #s(literal 1 binary64)) (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal -1 binary64)) (pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) im))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (/.f64 #s(literal -2 binary64) im) (*.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -2 binary64) im) (/.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -2 binary64) im) (pow.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -2 binary64) im) (neg.f64 (sqrt.f64 re)))
(*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(*.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal -2 binary64))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
(*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) (pow.f64 im #s(literal -1 binary64)))
(*.f64 #s(literal -2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(*.f64 (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)) #s(literal -1 binary64))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 (/.f64 #s(literal -2 binary64) im) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 (/.f64 #s(literal 2 binary64) im) #s(literal -1 binary64)))
(*.f64 (neg.f64 (sqrt.f64 re)) (*.f64 (/.f64 #s(literal -2 binary64) im) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(*.f64 #s(literal -1 binary64) (pow.f64 (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(*.f64 (sqrt.f64 re) (pow.f64 (/.f64 #s(literal 2 binary64) im) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 re) (/.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 (pow.f64 im #s(literal -1 binary64)) (pow.f64 re #s(literal -1/2 binary64))) #s(literal 1/2 binary64))
(/.f64 (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(/.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 (*.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(/.f64 (*.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal 1 binary64)) #s(literal -1/2 binary64))
(/.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 1 binary64)) #s(literal 1/2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im)) #s(literal -1/2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 (/.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 (/.f64 (/.f64 #s(literal 2 binary64) im) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(/.f64 (neg.f64 (pow.f64 im #s(literal -1 binary64))) (neg.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
(/.f64 (/.f64 #s(literal -2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(/.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(/.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal -1/2 binary64))
(/.f64 (*.f64 (sqrt.f64 re) #s(literal -2 binary64)) (neg.f64 im))
(/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 1/2 binary64))
(/.f64 (/.f64 #s(literal 2 binary64) im) (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) im)
(/.f64 (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)) #s(literal -1 binary64))
(/.f64 (neg.f64 (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(/.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))
(/.f64 #s(literal 2 binary64) (/.f64 im (sqrt.f64 re)))
(neg.f64 (/.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))))
(neg.f64 (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal -1/2 binary64) im)) (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 re)))
(exp.f64 (neg.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)) #s(literal -1 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 1 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))) #s(literal -1 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re))) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re))) #s(literal 1/2 binary64)) im)
(*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64))) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64))) im)
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (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 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im))
(*.f64 (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re))) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re))) im) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #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 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 re)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))))
(*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 im (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 2 binary64) re))) im))
(/.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64))) (sqrt.f64 (*.f64 re #s(literal 1/2 binary64))))
(/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (neg.f64 (sqrt.f64 #s(literal 2 binary64)))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) #s(literal 1 binary64)) (sqrt.f64 (*.f64 re #s(literal 1/2 binary64))))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) im)) (sqrt.f64 re))
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))) (sqrt.f64 re))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 re #s(literal 1/2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))))
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64))) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (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 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) im)
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im) #s(literal 1/2 binary64))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im))
(/.f64 (/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) im) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (*.f64 im #s(literal 1/2 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (neg.f64 (sqrt.f64 #s(literal 2 binary64)))) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 #s(literal -2 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) im)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) im) (sqrt.f64 re))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) im)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (*.f64 re #s(literal 1/2 binary64))))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal -1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (/.f64 #s(literal 1 binary64) (sqrt.f64 (neg.f64 re))))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 (/.f64 #s(literal -1 binary64) re)))
(*.f64 (sqrt.f64 #s(literal -2 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) re) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(pow.f64 (exp.f64 (log.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 1/2 binary64))
(pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (sqrt.f64 (*.f64 re #s(literal 1/2 binary64))) #s(literal -1 binary64))
(pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 1/2 binary64))
(/.f64 (/.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) #s(literal -1 binary64)) (sqrt.f64 re))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (neg.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal -1 binary64)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1 binary64)) (sqrt.f64 re))
(/.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (neg.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 re))
(/.f64 (neg.f64 (sqrt.f64 #s(literal -2 binary64))) (neg.f64 (sqrt.f64 (neg.f64 re))))
(/.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (neg.f64 (sqrt.f64 re)))
(/.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (*.f64 re #s(literal -1/2 binary64))))
(/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 re))
(/.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 (*.f64 re #s(literal 1/2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 (*.f64 re #s(literal 1/2 binary64))) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (sqrt.f64 (*.f64 re #s(literal 1/2 binary64))))
(neg.f64 (/.f64 (neg.f64 (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 re)))
(neg.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (neg.f64 (sqrt.f64 re))))
(sqrt.f64 (/.f64 #s(literal 2 binary64) re))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)))

eval62.0ms (1%)

Memory
32.9MiB live, 70.2MiB allocated
Compiler

Compiled 14 298 to 1 784 computations (87.5% saved)

prune22.0ms (0.3%)

Memory
-6.8MiB live, 39.3MiB allocated
Pruning

13 alts after pruning (6 fresh and 7 done)

PrunedKeptTotal
New5065511
Fresh011
Picked145
Done033
Total50713520
Accuracy
100.0%
Counts
520 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
54.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
25.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
15.7%
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
25.5%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
24.1%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 1 binary64)))))
25.5%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
20.7%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
25.7%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
24.1%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))))
Compiler

Compiled 464 to 356 computations (23.3% saved)

simplify291.0ms (4.5%)

Memory
-15.0MiB live, 62.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
cost-diff0
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))))
cost-diff1
(*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))
cost-diff3
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
cost-diff0
(log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
cost-diff0
(*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
cost-diff0
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
cost-diff3
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64)))
cost-diff0
(*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64)))
cost-diff0
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
cost-diff0
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
cost-diff2
(*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re))
cost-diff0
(/.f64 #s(literal 2 binary64) im)
cost-diff0
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
cost-diff0
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
cost-diff2
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re)))
cost-diff0
(sqrt.f64 re)
cost-diff0
(/.f64 (sqrt.f64 re) im)
cost-diff0
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
cost-diff0
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043357
066341
1105328
2158328
3239328
4296328
5436328
6506328
7619328
8713328
9789328
101039328
111411328
121578328
131985328
142879328
154077328
164525328
174831328
184947328
194959328
204959328
214983328
225063328
235085328
245089328
255089328
265095328
275095328
285119328
295171328
305529328
315567328
05567283
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
#s(literal 1/2 binary64)
(/.f64 (sqrt.f64 re) im)
(sqrt.f64 re)
re
im
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re)))
#s(literal 1 binary64)
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
(/.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
(sqrt.f64 re)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64))
(*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re))
(/.f64 #s(literal 2 binary64) re)
#s(literal 2 binary64)
re
#s(literal 1/4 binary64)
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
#s(literal 1/2 binary64)
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64)))
(*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))
(log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(/.f64 (sqrt.f64 re) im)
(sqrt.f64 re)
re
im
#s(literal 2 binary64)
#s(literal -1 binary64)
Outputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
#s(literal 1/2 binary64)
(/.f64 (sqrt.f64 re) im)
(sqrt.f64 re)
re
im
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
#s(literal 1 binary64)
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(/.f64 #s(literal 2 binary64) im)
#s(literal 2 binary64)
im
(sqrt.f64 re)
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 4 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 4 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (pow.f64 (/.f64 #s(literal 4 binary64) (*.f64 re re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)) im)
(pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64))
(pow.f64 (/.f64 #s(literal 4 binary64) (*.f64 re re)) #s(literal 1/4 binary64))
(*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re))
(/.f64 #s(literal 4 binary64) (*.f64 re re))
(/.f64 #s(literal 2 binary64) re)
#s(literal 2 binary64)
re
#s(literal 1/4 binary64)
(*.f64 im #s(literal 1/2 binary64))
im
#s(literal 1/2 binary64)
(sqrt.f64 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
#s(literal 1/2 binary64)
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64)))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
(*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
(*.f64 im im)
im
re
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))
(neg.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(/.f64 (sqrt.f64 re) im)
(sqrt.f64 re)
re
im
#s(literal 2 binary64)
#s(literal -1 binary64)

localize184.0ms (2.9%)

Memory
-6.4MiB live, 194.5MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0859375
(/.f64 (sqrt.f64 re) im)
accuracy2.245933065573876
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
accuracy5.189283833040723
(log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))))
accuracy2.345630884142181
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64)))
accuracy2.6539855698897625
(/.f64 (*.f64 im im) re)
accuracy7.567652028353241
(log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
accuracy16.13595104526601
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
accuracy0.13900375976844204
(*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re))
accuracy0.209316259768442
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
accuracy15.04972849761881
(pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
accuracy0.0
(sqrt.f64 re)
accuracy0.1328125
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
accuracy0.26510184010691734
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re)))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
accuracy0.0
(sqrt.f64 re)
accuracy0.0859375
(/.f64 (sqrt.f64 re) im)
accuracy0.26510184010691734
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
accuracy16.18281541032484
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
Samples
50.0ms16×2valid
41.0ms71×0valid
37.0ms125×0invalid
26.0ms44×1valid
Compiler

Compiled 285 to 37 computations (87% saved)

Precisions
Click to see histograms. Total time spent on operations: 130.0ms
ival-div: 38.0ms (29.2% of total)
ival-hypot: 23.0ms (17.7% of total)
ival-sub: 23.0ms (17.7% of total)
ival-mult: 19.0ms (14.6% of total)
ival-log: 8.0ms (6.1% of total)
ival-exp: 6.0ms (4.6% of total)
ival-sqrt: 6.0ms (4.6% of total)
ival-pow: 5.0ms (3.8% of total)
adjust: 2.0ms (1.5% of total)
exact: 1.0ms (0.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series269.0ms (4.2%)

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

6 calls:

TimeVariablePointExpression
70.0ms
re
@-inf
((* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/ 1/2 (/ (sqrt re) im)) (/ (sqrt re) im) (sqrt re) (/ 1 (* (/ 2 im) (sqrt re))) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (/ 2 im) (sqrt re)) (/ 2 im) (* (/ 2 re) (/ 2 re)) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (sqrt 1/2)) (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* 1/2 (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2))) (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (exp (* (log (* (/ (sqrt re) im) 2)) -1)) (* (log (* (/ (sqrt re) im) 2)) -1) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (log (* (/ (sqrt re) im) 2)) (pow (* (/ 2 re) (/ 2 re)) 1/4) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/ (* im im) re))
57.0ms
re
@0
((* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/ 1/2 (/ (sqrt re) im)) (/ (sqrt re) im) (sqrt re) (/ 1 (* (/ 2 im) (sqrt re))) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (/ 2 im) (sqrt re)) (/ 2 im) (* (/ 2 re) (/ 2 re)) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (sqrt 1/2)) (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* 1/2 (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2))) (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (exp (* (log (* (/ (sqrt re) im) 2)) -1)) (* (log (* (/ (sqrt re) im) 2)) -1) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (log (* (/ (sqrt re) im) 2)) (pow (* (/ 2 re) (/ 2 re)) 1/4) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/ (* im im) re))
57.0ms
im
@0
((* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/ 1/2 (/ (sqrt re) im)) (/ (sqrt re) im) (sqrt re) (/ 1 (* (/ 2 im) (sqrt re))) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (/ 2 im) (sqrt re)) (/ 2 im) (* (/ 2 re) (/ 2 re)) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (sqrt 1/2)) (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* 1/2 (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2))) (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (exp (* (log (* (/ (sqrt re) im) 2)) -1)) (* (log (* (/ (sqrt re) im) 2)) -1) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (log (* (/ (sqrt re) im) 2)) (pow (* (/ 2 re) (/ 2 re)) 1/4) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/ (* im im) re))
36.0ms
im
@-inf
((* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/ 1/2 (/ (sqrt re) im)) (/ (sqrt re) im) (sqrt re) (/ 1 (* (/ 2 im) (sqrt re))) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (/ 2 im) (sqrt re)) (/ 2 im) (* (/ 2 re) (/ 2 re)) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (sqrt 1/2)) (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* 1/2 (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2))) (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (exp (* (log (* (/ (sqrt re) im) 2)) -1)) (* (log (* (/ (sqrt re) im) 2)) -1) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (log (* (/ (sqrt re) im) 2)) (pow (* (/ 2 re) (/ 2 re)) 1/4) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/ (* im im) re))
24.0ms
re
@inf
((* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/ 1/2 (/ (sqrt re) im)) (/ (sqrt re) im) (sqrt re) (/ 1 (* (/ 2 im) (sqrt re))) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (/ 2 im) (sqrt re)) (/ 2 im) (* (/ 2 re) (/ 2 re)) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (* (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (sqrt 1/2)) (* (pow (* (/ 2 re) (/ 2 re)) 1/4) (* im 1/2)) (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2)) (* 1/2 (exp (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2))) (* (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) 1/2) (log (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (exp (* (log (* (/ (sqrt re) im) 2)) -1)) (* (log (* (/ (sqrt re) im) 2)) -1) (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (log (* (/ (sqrt re) im) 2)) (pow (* (/ 2 re) (/ 2 re)) 1/4) (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/ (* im im) re))

simplify196.0ms (3.1%)

Memory
10.8MiB live, 280.8MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07463437
122723126
275563118
081572975
Stop Event
iter limit
node limit
Counts
141 → 141
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))))))))
(* 1/2 (* im (sqrt (/ 1 re))))
(* (/ 1 im) (sqrt re))
(sqrt re)
(* 2 (* (/ 1 im) (sqrt re)))
(/ 4 (pow re 2))
(* 1/2 (* (pow 4 1/4) (* (* im (sqrt 1/2)) (sqrt (/ 1 re)))))
(* 1/2 (* (pow 4 1/4) (* im (sqrt (/ 1 re)))))
(* (sqrt im) (sqrt 2))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 2)))
(* 1/2 (log (* 2 im)))
(+ (* -1/2 (/ re im)) (* 1/2 (log (* 2 im))))
(+ (* 1/2 (log (* 2 im))) (* re (- (* 1/12 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(+ (* 1/2 (log (* 2 im))) (* re (- (* (pow re 2) (+ (* -3/80 (/ (pow re 2) (pow im 5))) (* 1/12 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(log (* 2 im))
(+ (log (* 2 im)) (* -1 (/ re im)))
(+ (log (* 2 im)) (* re (- (* 1/6 (/ (pow re 2) (pow im 3))) (/ 1 im))))
(+ (log (* 2 im)) (* re (- (* (pow re 2) (+ (* -3/40 (/ (pow re 2) (pow im 5))) (* 1/6 (/ 1 (pow im 3))))) (/ 1 im))))
(* -1 (log (* 2 (* (/ 1 im) (sqrt re)))))
(log (* 2 (* (/ 1 im) (sqrt re))))
(* (pow 4 1/4) (sqrt (/ 1 re)))
(* 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)))
(/ (pow im 2) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
(+ (* -1/32 (* (/ (* (pow im 3) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (+ (* -1/1024 (* (/ (* (pow im 5) (sqrt 2)) (pow (sqrt 1/2) 3)) (sqrt (/ 1 (pow re 9))))) (+ (* 1/64 (* (/ (* (pow im 5) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 9))))) (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))))
(* im (sqrt (/ 1 re)))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(* 1/2 (+ (log (/ 1 re)) (log (pow im 2))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log (/ 1 re)) (log (pow im 2)))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ 1 re)) (log (pow im 2))))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/1440 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ 1 re)) (log (pow im 2)))))))
(+ (log (/ 1 re)) (log (pow im 2)))
(+ (log (/ 1 re)) (+ (log (pow im 2)) (* -1/4 (/ (pow im 2) (pow re 2)))))
(+ (log (/ 1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))))))
(+ (log (/ 1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (+ (* 1/720 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4)))))))
(* -1 (+ (log (* 2 (* (/ 1 im) (sqrt (/ 1 re))))) (* -1 (log (/ 1 re)))))
(+ (log (* 2 (* (/ 1 im) (sqrt (/ 1 re))))) (* -1 (log (/ 1 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 (* (/ (pow (sqrt -1) 2) im) (sqrt re)))
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(* -2 (* (/ (pow (sqrt -1) 2) im) (sqrt re)))
(* 1/2 (* (pow 4 1/4) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re)))))
(* 1/2 (* (pow 4 1/4) (* (* im (sqrt -1)) (sqrt (/ 1 re)))))
(* -2 (* (sqrt re) (sqrt -1)))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re)))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(* 1/2 (+ (log 4) (* -1 (log (/ -1 re)))))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ -1 re))))))
(+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ -1 re)))))))
(+ (* 1/1440 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ -1 re))))))))
(+ (log 4) (* -1 (log (/ -1 re))))
(+ (log 4) (+ (* -1 (log (/ -1 re))) (* 1/4 (/ (pow im 2) (pow re 2)))))
(+ (log 4) (+ (* -1 (log (/ -1 re))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2))))))
(+ (log 4) (+ (* -1 (log (/ -1 re))) (+ (* 1/720 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2)))))))
(* -1 (+ (log (* 2 (* (/ (pow (sqrt -1) 2) im) (sqrt (/ 1 re))))) (* -1 (log (/ -1 re)))))
(+ (log (* 2 (* (/ (pow (sqrt -1) 2) im) (sqrt (/ 1 re))))) (* -1 (log (/ -1 re))))
(* (pow 4 1/4) (* (sqrt (/ 1 re)) (sqrt -1)))
(* -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)))))))
(* 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))))))))))
(/ 2 im)
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(* 1/2 (+ (log (/ 1 re)) (* 2 (log im))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log (/ 1 re)) (* 2 (log im)))))
(+ (* 1/2 (+ (log (/ 1 re)) (* 2 (log im)))) (* (pow im 2) (- (* 3/64 (/ (pow im 2) (pow re 4))) (* 1/8 (/ 1 (pow re 2))))))
(+ (* 1/2 (+ (log (/ 1 re)) (* 2 (log im)))) (* (pow im 2) (- (* (pow im 2) (+ (* -5/192 (/ (pow im 2) (pow re 6))) (* 3/64 (/ 1 (pow re 4))))) (* 1/8 (/ 1 (pow re 2))))))
(+ (log (/ 1 re)) (* 2 (log im)))
(+ (log (/ 1 re)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (* 2 (log im))))
(+ (log (/ 1 re)) (+ (* 2 (log im)) (* (pow im 2) (- (* 3/32 (/ (pow im 2) (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))))
(+ (log (/ 1 re)) (+ (* 2 (log im)) (* (pow im 2) (- (* (pow im 2) (+ (* -5/96 (/ (pow im 2) (pow re 6))) (* 3/32 (/ 1 (pow re 4))))) (* 1/4 (/ 1 (pow re 2)))))))
(* -1 (+ (log (* 2 (sqrt re))) (* -1 (log im))))
(+ (log (* 2 (sqrt re))) (* -1 (log im)))
(* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* (pow im 2) (+ (* (pow im 2) (- (* (pow im 2) (+ (* -5/64 (/ (pow im 2) (pow re 7))) (* 1/8 (/ 1 (pow re 5))))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))
(* im (+ (* -1/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 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (pow (sqrt 2) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(* 1/2 (+ (log 2) (* -1 (log (/ 1 im)))))
(+ (* -1/2 (/ re im)) (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))))
(+ (* -1/2 (/ re im)) (+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (* 1/2 (+ (log 2) (* -1 (log (/ 1 im)))))))
(+ (* -1/2 (/ re im)) (+ (* 1/12 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) (pow im 3))) (+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))))))
(+ (log 2) (* -1 (log (/ 1 im))))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (* -1 (/ re im))))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* -1 (/ re im)) (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))))))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* -1 (/ re im)) (+ (* 1/6 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) (pow im 3))) (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2)))))))
(* -1 (+ (log (* 2 (sqrt re))) (log (/ 1 im))))
(+ (log (* 2 (sqrt re))) (log (/ 1 im)))
(* im (+ 2 (* -2 (/ re im))))
(* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(* -1/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 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1 (/ (+ (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (pow (sqrt 2) 3))))) (pow im 3))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(* 1/2 (+ (log 2) (* -1 (log (/ -1 im)))))
(+ (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))) (* 1/2 (/ re im)))
(+ (* -1 (/ (+ (* -1/2 re) (* -1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) im))) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/12 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) im)) (* 1/4 (+ (* -1 (pow re 2)) (pow re 2)))) im)) (* -1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(+ (log 2) (* -1 (log (/ -1 im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (/ re im)))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ (* -1 re) (* -1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) im))) im))))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ (* -1 re) (* -1 (/ (+ (* -1/6 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) im)) (* 1/2 (+ (* -1 (pow re 2)) (pow re 2)))) im))) im))))
(* -1 (+ (log (* -2 (sqrt re))) (log (/ -1 im))))
(+ (log (* -2 (sqrt re))) (log (/ -1 im)))
(* -2 im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
Outputs
(* 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)))
(* 1/2 (* im (sqrt (/ 1 re))))
(*.f64 (*.f64 #s(literal 1/2 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (/ 1 im) (sqrt re))
(/.f64 (sqrt.f64 re) im)
(sqrt re)
(sqrt.f64 re)
(* 2 (* (/ 1 im) (sqrt re)))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(/ 4 (pow re 2))
(/.f64 #s(literal 4 binary64) (*.f64 re re))
(* 1/2 (* (pow 4 1/4) (* (* im (sqrt 1/2)) (sqrt (/ 1 re)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(* 1/2 (* (pow 4 1/4) (* im (sqrt (/ 1 re)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* (sqrt im) (sqrt 2))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))
(+ (* -1 (* (sqrt (/ 1 im)) (/ re (sqrt 2)))) (* (sqrt im) (sqrt 2)))
(fma.f64 (neg.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (sqrt 2)))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)) (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) #s(literal 1/2 binary64) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(+ (* re (+ (* -1 (* (sqrt (/ 1 im)) (/ 1 (sqrt 2)))) (* re (+ (* 1/2 (* (sqrt (/ 1 im)) (/ (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2)))) (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 (pow im 3))) (/ (* re (- (/ 1 im) (/ 1 (* im (pow (sqrt 2) 2))))) (pow (sqrt 2) 3)))))))) (* (sqrt im) (sqrt 2)))
(fma.f64 (fma.f64 (*.f64 re #s(literal 1/2 binary64)) (fma.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (-.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im))) (sqrt.f64 #s(literal 2 binary64))) (/.f64 re #s(literal 2 binary64)) (*.f64 (/.f64 (-.f64 (/.f64 #s(literal 1 binary64) im) (/.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))) (/.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))) re (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im)))
(* 1/2 (log (* 2 im)))
(*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64))
(+ (* -1/2 (/ re im)) (* 1/2 (log (* 2 im))))
(fma.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64) (*.f64 (/.f64 re im) #s(literal -1/2 binary64)))
(+ (* 1/2 (log (* 2 im))) (* re (- (* 1/12 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/12 binary64) (pow.f64 im #s(literal 3 binary64))) re) re (/.f64 #s(literal -1/2 binary64) im)) re (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(+ (* 1/2 (log (* 2 im))) (* re (- (* (pow re 2) (+ (* -3/80 (/ (pow re 2) (pow im 5))) (* 1/12 (/ 1 (pow im 3))))) (* 1/2 (/ 1 im)))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 5 binary64)))) #s(literal -3/80 binary64) (/.f64 #s(literal 1/12 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re re) (/.f64 #s(literal -1/2 binary64) im)) re (*.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) #s(literal 1/2 binary64)))
(log (* 2 im))
(log.f64 (*.f64 im #s(literal 2 binary64)))
(+ (log (* 2 im)) (* -1 (/ re im)))
(-.f64 (log.f64 (*.f64 im #s(literal 2 binary64))) (/.f64 re im))
(+ (log (* 2 im)) (* re (- (* 1/6 (/ (pow re 2) (pow im 3))) (/ 1 im))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64))) re) re (/.f64 #s(literal -1 binary64) im)) re (log.f64 (*.f64 im #s(literal 2 binary64))))
(+ (log (* 2 im)) (* re (- (* (pow re 2) (+ (* -3/40 (/ (pow re 2) (pow im 5))) (* 1/6 (/ 1 (pow im 3))))) (/ 1 im))))
(fma.f64 (fma.f64 (fma.f64 #s(literal -3/40 binary64) (*.f64 re (/.f64 re (pow.f64 im #s(literal 5 binary64)))) (/.f64 #s(literal 1/6 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re re) (/.f64 #s(literal -1 binary64) im)) re (log.f64 (*.f64 im #s(literal 2 binary64))))
(* -1 (log (* 2 (* (/ 1 im) (sqrt re)))))
(neg.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(log (* 2 (* (/ 1 im) (sqrt re))))
(log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(* (pow 4 1/4) (sqrt (/ 1 re)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* 2 im)
(*.f64 im #s(literal 2 binary64))
(+ (* -2 re) (* 2 im))
(fma.f64 #s(literal -2 binary64) re (*.f64 im #s(literal 2 binary64)))
(+ (* 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 (fma.f64 (fma.f64 (*.f64 re (/.f64 re (pow.f64 im #s(literal 3 binary64)))) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) im)) re #s(literal -2 binary64)) re (*.f64 im #s(literal 2 binary64)))
(/ (pow im 2) re)
(/.f64 (*.f64 im im) re)
(* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.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 #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 (*.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 re)))
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (* im (sqrt (/ 1 re))))
(*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re)))))
(fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im (*.f64 (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 5 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))))
(+ (* -1/8 (* (pow im 3) (sqrt (/ 1 (pow re 5))))) (+ (* -1/128 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (+ (* 1/16 (* (pow im 5) (sqrt (/ 1 (pow re 9))))) (* im (sqrt (/ 1 re))))))
(fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (pow.f64 im #s(literal 5 binary64))) #s(literal 7/128 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) im)))
(* 1/2 (+ (log (/ 1 re)) (log (pow im 2))))
(*.f64 (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)) #s(literal 1/2 binary64))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log (/ 1 re)) (log (pow im 2)))))
(fma.f64 (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)) #s(literal 1/2 binary64) (*.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/8 binary64)))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ 1 re)) (log (pow im 2))))))
(fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal 9/4 binary64) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/48 binary64) (fma.f64 (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)) #s(literal 1/2 binary64) (*.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/8 binary64))))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (+ (* 1/1440 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))) (* 1/2 (+ (log (/ 1 re)) (log (pow im 2)))))))
(fma.f64 (/.f64 (fma.f64 (/.f64 (*.f64 #s(literal -720 binary64) (pow.f64 im #s(literal 8 binary64))) im) (/.f64 #s(literal 5/64 binary64) im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/4 binary64))) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/1440 binary64) (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal 9/4 binary64) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/48 binary64) (fma.f64 (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)) #s(literal 1/2 binary64) (*.f64 (/.f64 (/.f64 (*.f64 im im) re) re) #s(literal -1/8 binary64)))))
(+ (log (/ 1 re)) (log (pow im 2)))
(-.f64 (log.f64 (*.f64 im im)) (log.f64 re))
(+ (log (/ 1 re)) (+ (log (pow im 2)) (* -1/4 (/ (pow im 2) (pow re 2)))))
(fma.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) im) re) (/.f64 im re) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))
(+ (log (/ 1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4))))))
(-.f64 (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal 9/4 binary64) (pow.f64 re #s(literal 4 binary64)))) (fma.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) im) re) (/.f64 im re) (log.f64 (*.f64 im im)))) (log.f64 re))
(+ (log (/ 1 re)) (+ (log (pow im 2)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (+ (* 1/720 (/ (+ (* -720 (/ (+ (* 1/64 (pow im 8)) (* 1/16 (pow im 8))) (pow im 2))) (+ (* -15/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (* 1/24 (/ (+ (* -3/4 (pow im 4)) (* 3 (pow im 4))) (pow re 4)))))))
(+.f64 (fma.f64 #s(literal 1/720 binary64) (/.f64 (fma.f64 (/.f64 (*.f64 #s(literal -720 binary64) (pow.f64 im #s(literal 8 binary64))) im) (/.f64 #s(literal 5/64 binary64) im) (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/4 binary64))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal 9/4 binary64)) #s(literal 1/24 binary64)) (pow.f64 re #s(literal 4 binary64))))) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))
(* -1 (+ (log (* 2 (* (/ 1 im) (sqrt (/ 1 re))))) (* -1 (log (/ 1 re)))))
(neg.f64 (+.f64 (log.f64 re) (log.f64 (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))
(+ (log (* 2 (* (/ 1 im) (sqrt (/ 1 re))))) (* -1 (log (/ 1 re))))
(+.f64 (log.f64 re) (log.f64 (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
(/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)
(/.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (*.f64 im im)) 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 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im))) 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 (-.f64 (fma.f64 (/.f64 (pow.f64 im #s(literal 4 binary64)) re) (/.f64 #s(literal -1/4 binary64) re) (fma.f64 (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) #s(literal 1/8 binary64) (*.f64 im im))) (*.f64 (pow.f64 im #s(literal 8 binary64)) (/.f64 #s(literal 5/64 binary64) (pow.f64 re #s(literal 6 binary64))))) 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 #s(literal -1/8 binary64) (sqrt.f64 #s(literal -1 binary64))) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 (*.f64 (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 #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 #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))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* (/ (pow (sqrt -1) 2) im) (sqrt re)))
(/.f64 (sqrt.f64 re) im)
(* -1 (* (sqrt re) (pow (sqrt -1) 2)))
(sqrt.f64 re)
(* -2 (* (/ (pow (sqrt -1) 2) im) (sqrt re)))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(* 1/2 (* (pow 4 1/4) (* (* im (* (sqrt -1) (sqrt 1/2))) (sqrt (/ 1 re)))))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(* 1/2 (* (pow 4 1/4) (* (* im (sqrt -1)) (sqrt (/ 1 re)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64))) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(* -2 (* (sqrt re) (sqrt -1)))
(*.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re))
(* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 #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))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #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) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* -1 (* re (+ (* -1 (/ (+ (* -1/16 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (+ (* 1/64 (* (* (pow im 4) (sqrt -1)) (sqrt (/ 1 (pow re 3))))) (* 1/4 (* (* (pow im 2) (sqrt -1)) (sqrt re))))) (pow re 3))) (* 2 (* (sqrt (/ 1 re)) (sqrt -1))))))
(*.f64 (neg.f64 re) (fma.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) #s(literal 2 binary64) (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64)))) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 im #s(literal 4 binary64))) #s(literal -3/64 binary64) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 im im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 re)))) (neg.f64 (pow.f64 re #s(literal 3 binary64))))))
(* 1/2 (+ (log 4) (* -1 (log (/ -1 re)))))
(*.f64 (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64))
(+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ -1 re))))))
(fma.f64 (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 (/.f64 (*.f64 im im) re) re)))
(+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ -1 re)))))))
(fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -9/4 binary64) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/48 binary64) (fma.f64 (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 (/.f64 (*.f64 im im) re) re))))
(+ (* 1/1440 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/48 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (+ (* 1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log 4) (* -1 (log (/ -1 re))))))))
(fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/2 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/1440 binary64) (fma.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (/.f64 #s(literal -9/4 binary64) (pow.f64 re #s(literal 4 binary64)))) #s(literal 1/48 binary64) (fma.f64 (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))) #s(literal 1/2 binary64) (*.f64 #s(literal 1/8 binary64) (/.f64 (/.f64 (*.f64 im im) re) re)))))
(+ (log 4) (* -1 (log (/ -1 re))))
(-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(+ (log 4) (+ (* -1 (log (/ -1 re))) (* 1/4 (/ (pow im 2) (pow re 2)))))
(fma.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) im) re) (/.f64 im re) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (log 4) (+ (* -1 (log (/ -1 re))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2))))))
(+.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) #s(literal 1/24 binary64)) (pow.f64 re #s(literal 4 binary64)))) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (log 4) (+ (* -1 (log (/ -1 re))) (+ (* 1/720 (/ (+ (* 15/4 (pow im 6)) (+ (* 45/4 (pow im 6)) (* 45/2 (pow im 6)))) (pow re 6))) (+ (* 1/24 (/ (+ (* -3/2 (pow im 4)) (* -3/4 (pow im 4))) (pow re 4))) (* 1/4 (/ (pow im 2) (pow re 2)))))))
(+.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 6 binary64)) #s(literal 75/2 binary64)) (pow.f64 re #s(literal 6 binary64))) #s(literal 1/720 binary64) (fma.f64 (/.f64 (*.f64 #s(literal 1/4 binary64) im) re) (/.f64 im re) (/.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) #s(literal -9/4 binary64)) #s(literal 1/24 binary64)) (pow.f64 re #s(literal 4 binary64))))) (-.f64 (log.f64 #s(literal 4 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(* -1 (+ (log (* 2 (* (/ (pow (sqrt -1) 2) im) (sqrt (/ 1 re))))) (* -1 (log (/ -1 re)))))
(neg.f64 (-.f64 (log.f64 (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (log.f64 (/.f64 #s(literal -1 binary64) re))))
(+ (log (* 2 (* (/ (pow (sqrt -1) 2) im) (sqrt (/ 1 re))))) (* -1 (log (/ -1 re))))
(-.f64 (log.f64 (*.f64 (/.f64 #s(literal -2 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) (log.f64 (/.f64 #s(literal -1 binary64) re)))
(* (pow 4 1/4) (* (sqrt (/ 1 re)) (sqrt -1)))
(*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)))
(* -4 re)
(*.f64 #s(literal -4 binary64) re)
(* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))
(*.f64 (neg.f64 re) (fma.f64 (/.f64 im re) (/.f64 im re) #s(literal 4 binary64)))
(* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))
(*.f64 (neg.f64 re) (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 (+ (* -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 #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)))) (*.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 (fma.f64 (*.f64 (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) #s(literal -1/32 binary64) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 re)) (/.f64 (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/16 binary64) (pow.f64 re #s(literal 5 binary64))) (/.f64 #s(literal 1/128 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))))) (*.f64 im im))) im)
(* im (+ (* 1/2 (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))) (* (pow im 2) (+ (* -1/32 (* (sqrt (/ 1 (pow re 5))) (/ (sqrt 2) (sqrt 1/2)))) (* (pow im 2) (+ (* -1/4 (* (/ (* (pow im 2) (* (sqrt 2) (+ (* -1/16 (/ (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2))))) (* (pow re 2) (pow (sqrt 1/2) 2)))) (* 5/128 (/ 1 (pow re 7)))))) (sqrt 1/2)) (sqrt re))) (* 1/4 (* (sqrt re) (/ (* (sqrt 2) (- (* 1/16 (/ 1 (pow re 5))) (* 1/256 (/ 1 (* (pow re 5) (pow (sqrt 1/2) 2)))))) (sqrt 1/2))))))))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)) (*.f64 (fma.f64 (*.f64 (/.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 (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 re)) (*.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 (*.f64 im im) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 re)) (*.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 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))))) (*.f64 im im))) (*.f64 im im))) im)
(/ 2 im)
(/.f64 #s(literal 2 binary64) im)
(* im (+ (sqrt (/ 1 re)) (* -1/8 (* (pow im 2) (sqrt (/ 1 (pow re 5)))))))
(*.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal -1/8 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* 7/128 (* (pow im 2) (sqrt (/ 1 (pow re 9)))))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 im im) #s(literal 7/128 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 im im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(* im (+ (sqrt (/ 1 re)) (* (pow im 2) (+ (* -1/8 (sqrt (/ 1 (pow re 5)))) (* (pow im 2) (+ (* -33/1024 (* (pow im 2) (sqrt (/ 1 (pow re 13))))) (* 7/128 (sqrt (/ 1 (pow re 9))))))))))
(*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -33/1024 binary64) (*.f64 im im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 13 binary64)))) (*.f64 #s(literal 7/128 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64)))))) (*.f64 im im) (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 im im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) im)
(* 1/2 (+ (log (/ 1 re)) (* 2 (log im))))
(fma.f64 (neg.f64 (log.f64 re)) #s(literal 1/2 binary64) (log.f64 im))
(+ (* -1/8 (/ (pow im 2) (pow re 2))) (* 1/2 (+ (log (/ 1 re)) (* 2 (log im)))))
(fma.f64 (/.f64 (*.f64 #s(literal -1/8 binary64) im) re) (/.f64 im re) (fma.f64 (neg.f64 (log.f64 re)) #s(literal 1/2 binary64) (log.f64 im)))
(+ (* 1/2 (+ (log (/ 1 re)) (* 2 (log im)))) (* (pow im 2) (- (* 3/64 (/ (pow im 2) (pow re 4))) (* 1/8 (/ 1 (pow re 2))))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal 3/64 binary64) (pow.f64 re #s(literal 4 binary64))) im) im (/.f64 #s(literal -1/8 binary64) (*.f64 re re))) (*.f64 im im) (fma.f64 (neg.f64 (log.f64 re)) #s(literal 1/2 binary64) (log.f64 im)))
(+ (* 1/2 (+ (log (/ 1 re)) (* 2 (log im)))) (* (pow im 2) (- (* (pow im 2) (+ (* -5/192 (/ (pow im 2) (pow re 6))) (* 3/64 (/ 1 (pow re 4))))) (* 1/8 (/ 1 (pow re 2))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 im (/.f64 im (pow.f64 re #s(literal 6 binary64)))) #s(literal -5/192 binary64) (/.f64 #s(literal 3/64 binary64) (pow.f64 re #s(literal 4 binary64)))) (*.f64 im im) (/.f64 #s(literal -1/8 binary64) (*.f64 re re))) (*.f64 im im) (fma.f64 (neg.f64 (log.f64 re)) #s(literal 1/2 binary64) (log.f64 im)))
(+ (log (/ 1 re)) (* 2 (log im)))
(fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re)))
(+ (log (/ 1 re)) (+ (* -1/4 (/ (pow im 2) (pow re 2))) (* 2 (log im))))
(fma.f64 (/.f64 (*.f64 #s(literal -1/4 binary64) im) re) (/.f64 im re) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re))))
(+ (log (/ 1 re)) (+ (* 2 (log im)) (* (pow im 2) (- (* 3/32 (/ (pow im 2) (pow re 4))) (* 1/4 (/ 1 (pow re 2)))))))
(fma.f64 (fma.f64 (*.f64 (/.f64 #s(literal 3/32 binary64) (pow.f64 re #s(literal 4 binary64))) im) im (/.f64 #s(literal -1/4 binary64) (*.f64 re re))) (*.f64 im im) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re))))
(+ (log (/ 1 re)) (+ (* 2 (log im)) (* (pow im 2) (- (* (pow im 2) (+ (* -5/96 (/ (pow im 2) (pow re 6))) (* 3/32 (/ 1 (pow re 4))))) (* 1/4 (/ 1 (pow re 2)))))))
(fma.f64 (fma.f64 (fma.f64 #s(literal -5/96 binary64) (*.f64 im (/.f64 im (pow.f64 re #s(literal 6 binary64)))) (/.f64 #s(literal 3/32 binary64) (pow.f64 re #s(literal 4 binary64)))) (*.f64 im im) (/.f64 #s(literal -1/4 binary64) (*.f64 re re))) (*.f64 im im) (fma.f64 (log.f64 im) #s(literal 2 binary64) (neg.f64 (log.f64 re))))
(* -1 (+ (log (* 2 (sqrt re))) (* -1 (log im))))
(fma.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) #s(literal -1 binary64) (log.f64 im))
(+ (log (* 2 (sqrt re))) (* -1 (log im)))
(-.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (log.f64 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 (+ (* -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 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))
(*.f64 (fma.f64 (neg.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))) im)
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 re (sqrt.f64 #s(literal 2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (fma.f64 (neg.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))) im)
(* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ re (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (pow (sqrt 2) 3)))) (+ (* 1/2 (* (sqrt (/ 1 (pow im 5))) (/ (pow re 2) (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
(*.f64 (fma.f64 (neg.f64 (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 re (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64))))) #s(literal -1/4 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 re (/.f64 re (sqrt.f64 #s(literal 2 binary64))))) (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 (+ (log 2) (* -1 (log (/ 1 im)))))
(*.f64 (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64))
(+ (* -1/2 (/ re im)) (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))))
(fma.f64 (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64) (*.f64 (/.f64 re im) #s(literal -1/2 binary64)))
(+ (* -1/2 (/ re im)) (+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (* 1/2 (+ (log 2) (* -1 (log (/ 1 im)))))))
(fma.f64 (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64) (fma.f64 (/.f64 re im) #s(literal -1/2 binary64) (/.f64 #s(literal 0 binary64) (*.f64 im im))))
(+ (* -1/2 (/ re im)) (+ (* 1/12 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) (pow im 3))) (+ (* 1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))) (* 1/2 (+ (log 2) (* -1 (log (/ 1 im))))))))
(fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/12 binary64) (fma.f64 (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64))) #s(literal 1/2 binary64) (fma.f64 (/.f64 re im) #s(literal -1/2 binary64) (/.f64 #s(literal 0 binary64) (*.f64 im im)))))
(+ (log 2) (* -1 (log (/ 1 im))))
(+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (* -1 (/ re im))))
(-.f64 (+.f64 (log.f64 im) (log.f64 #s(literal 2 binary64))) (/.f64 re im))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* -1 (/ re im)) (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2))))))
(+.f64 (+.f64 (/.f64 (-.f64 (/.f64 #s(literal 0 binary64) im) re) im) (log.f64 im)) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (+ (* -1 (log (/ 1 im))) (+ (* -1 (/ re im)) (+ (* 1/6 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) (pow im 3))) (* 1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) (pow im 2)))))))
(+.f64 (+.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) (pow.f64 im #s(literal 3 binary64))) #s(literal 1/6 binary64) (/.f64 (-.f64 (/.f64 #s(literal 0 binary64) im) re) im)) (log.f64 im)) (log.f64 #s(literal 2 binary64)))
(* -1 (+ (log (* 2 (sqrt re))) (log (/ 1 im))))
(fma.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) #s(literal -1 binary64) (log.f64 im))
(+ (log (* 2 (sqrt re))) (log (/ 1 im)))
(-.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (log.f64 im))
(* im (+ 2 (* -2 (/ re im))))
(*.f64 (fma.f64 #s(literal -2 binary64) (/.f64 re im) #s(literal 2 binary64)) im)
(* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))
(*.f64 (fma.f64 #s(literal -2 binary64) (/.f64 re im) (fma.f64 (/.f64 re im) (/.f64 re im) #s(literal 2 binary64))) im)
(* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))
(*.f64 (+.f64 (fma.f64 (/.f64 re im) (/.f64 re im) (/.f64 (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal -1/4 binary64)) (pow.f64 im #s(literal 4 binary64)))) (fma.f64 #s(literal -2 binary64) (/.f64 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 (/.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 (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 (/.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 (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) (-.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 1/2 binary64)) (*.f64 (*.f64 (*.f64 (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))) (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) re) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 im))) (/.f64 #s(literal 3/16 binary64) (pow.f64 im #s(literal 3 binary64))))))
(* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))
(*.f64 (*.f64 (neg.f64 (sqrt.f64 im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (neg.f64 (sqrt.f64 #s(literal 2 binary64))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1/2 (* (sqrt (/ 1 (pow im 5))) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re (/.f64 re (sqrt.f64 #s(literal 2 binary64)))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 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 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) re)) (neg.f64 (sqrt.f64 #s(literal 2 binary64)))))))
(* -1 (* im (+ (* -1 (* (sqrt (/ 1 (pow im 3))) (/ (* re (sqrt -1)) (sqrt 2)))) (+ (* -1 (/ (+ (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (sqrt 2)))) (* 1/2 (* (sqrt im) (/ (* (pow re 2) (sqrt -1)) (pow (sqrt 2) 3))))) (pow im 3))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))
(*.f64 (neg.f64 im) (fma.f64 (neg.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (/.f64 re (sqrt.f64 #s(literal 2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 #s(literal 2 binary64)) (/.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 im) (fma.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 re (/.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (/.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) re) #s(literal 2 binary64)) (/.f64 re (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))))))
(* 1/2 (+ (log 2) (* -1 (log (/ -1 im)))))
(*.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) #s(literal 1/2 binary64))
(+ (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))) (* 1/2 (/ re im)))
(*.f64 #s(literal 1/2 binary64) (+.f64 (-.f64 (/.f64 re im) (log.f64 (/.f64 #s(literal -1 binary64) im))) (log.f64 #s(literal 2 binary64))))
(+ (* -1 (/ (+ (* -1/2 re) (* -1/4 (/ (+ (* -1 (pow re 2)) (pow re 2)) im))) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(fma.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) #s(literal 1/2 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) re (/.f64 #s(literal 0 binary64) im)) (neg.f64 im)))
(+ (* -1 (/ (+ (* -1 (/ (+ (* -1/12 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) im)) (* 1/4 (+ (* -1 (pow re 2)) (pow re 2)))) im)) (* -1/2 re)) im)) (* 1/2 (+ (log 2) (* -1 (log (/ -1 im))))))
(fma.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) #s(literal 1/2 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) re (/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) im) #s(literal -1/12 binary64) #s(literal 0 binary64)) (neg.f64 im))) (neg.f64 im)))
(+ (log 2) (* -1 (log (/ -1 im))))
(-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (/ re im)))
(+.f64 (-.f64 (/.f64 re im) (log.f64 (/.f64 #s(literal -1 binary64) im))) (log.f64 #s(literal 2 binary64)))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ (* -1 re) (* -1/2 (/ (+ (* -1 (pow re 2)) (pow re 2)) im))) im))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) (/.f64 (-.f64 (/.f64 #s(literal 0 binary64) im) re) im))
(+ (log 2) (+ (* -1 (log (/ -1 im))) (* -1 (/ (+ (* -1 re) (* -1 (/ (+ (* -1/6 (/ (+ (* -2 (pow re 3)) (* 3 (pow re 3))) im)) (* 1/2 (+ (* -1 (pow re 2)) (pow re 2)))) im))) im))))
(-.f64 (-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal -1 binary64) im))) (/.f64 (-.f64 (/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 3 binary64)) im) #s(literal -1/6 binary64) #s(literal 0 binary64)) (neg.f64 im)) re) im))
(* -1 (+ (log (* -2 (sqrt re))) (log (/ -1 im))))
(neg.f64 (+.f64 (log.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) (log.f64 (/.f64 #s(literal -1 binary64) im))))
(+ (log (* -2 (sqrt re))) (log (/ -1 im)))
(+.f64 (log.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(* -2 im)
(*.f64 #s(literal -2 binary64) im)
(* -1 (* im (+ 2 (* 2 (/ re im)))))
(*.f64 (neg.f64 im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (/.f64 (*.f64 (neg.f64 re) re) im)) im)))
(* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))
(*.f64 (neg.f64 im) (-.f64 #s(literal 2 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (/.f64 (fma.f64 (/.f64 (pow.f64 re #s(literal 4 binary64)) im) (/.f64 #s(literal -1/4 binary64) im) (*.f64 re re)) (neg.f64 im))) im)))

rewrite159.0ms (2.5%)

Memory
-24.6MiB live, 209.3MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043313
066287
1192276
2942271
37651271
08566226
Stop Event
iter limit
node limit
iter limit
Counts
23 → 729
Calls
Call 1
Inputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(/.f64 (sqrt.f64 re) im)
(sqrt.f64 re)
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
(/.f64 #s(literal 2 binary64) im)
(*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
(*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64)))
(*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))))
(log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 im im) re)
Outputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (neg.f64 im))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) (neg.f64 im))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -2 binary64)) (neg.f64 im))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) im)
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (neg.f64 im))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) im)
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))) (neg.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal -1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (neg.f64 im) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 im #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 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.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 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (*.f64 (neg.f64 im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (neg.f64 im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal -1/2 binary64))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 (/.f64 im (sqrt.f64 re)) (exp.f64 (log.f64 #s(literal 1/2 binary64))))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(*.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -2 binary64)) (/.f64 #s(literal -1 binary64) im))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal -1 binary64) (pow.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (*.f64 #s(literal -2 binary64) (sqrt.f64 re)))
(/.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 im)))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (/.f64 #s(literal -1 binary64) im))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(/.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(/.f64 (neg.f64 im) (*.f64 #s(literal -2 binary64) (sqrt.f64 re)))
(/.f64 #s(literal -1 binary64) (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(/.f64 im (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(neg.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal -1 binary64))) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))))
(exp.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))))
(*.f64 (*.f64 (pow.f64 im #s(literal -1 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))) (/.f64 #s(literal -1 binary64) im))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (/.f64 #s(literal -1 binary64) im))
(*.f64 (pow.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 (pow.f64 re #s(literal 1/4 binary64)) (pow.f64 im #s(literal -1 binary64))))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) im))
(*.f64 (/.f64 #s(literal -1 binary64) im) (neg.f64 (sqrt.f64 re)))
(*.f64 (pow.f64 im #s(literal -1 binary64)) (pow.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 im #s(literal -1 binary64)) (sqrt.f64 re))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 (/.f64 #s(literal -1 binary64) im) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 #s(literal -1 binary64) im))
(*.f64 #s(literal -1 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(*.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) im))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 1 binary64))
(*.f64 (sqrt.f64 re) (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (sqrt.f64 re) (exp.f64 (neg.f64 (log.f64 im))))
(*.f64 (sqrt.f64 re) (pow.f64 im #s(literal -1 binary64)))
(pow.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1 binary64))
(pow.f64 (/.f64 (sqrt.f64 re) im) #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))) (neg.f64 im))
(/.f64 (*.f64 #s(literal 1 binary64) (neg.f64 (sqrt.f64 re))) (neg.f64 im))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)) (neg.f64 im))
(/.f64 (exp.f64 (log.f64 (neg.f64 (sqrt.f64 re)))) (exp.f64 (log.f64 (neg.f64 im))))
(/.f64 (pow.f64 im #s(literal -1 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal -1 binary64))
(/.f64 (neg.f64 (sqrt.f64 re)) (*.f64 #s(literal 1 binary64) (neg.f64 im)))
(/.f64 (neg.f64 (sqrt.f64 re)) (neg.f64 im))
(/.f64 #s(literal -1 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(/.f64 #s(literal 1 binary64) (/.f64 im (sqrt.f64 re)))
(/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 1 binary64))
(/.f64 (sqrt.f64 re) (exp.f64 (log.f64 im)))
(/.f64 (sqrt.f64 re) im)
(neg.f64 (/.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal 1 binary64)))
(neg.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 im)) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(-.f64 #s(literal 0 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(exp.f64 (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) #s(literal -1 binary64)))
(exp.f64 (log.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (*.f64 #s(literal 1 binary64) (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)) #s(literal 1 binary64)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (pow.f64 re #s(literal 1/4 binary64)))
(*.f64 #s(literal -1 binary64) (neg.f64 (sqrt.f64 re)))
(*.f64 #s(literal 1 binary64) (sqrt.f64 re))
(*.f64 (sqrt.f64 re) #s(literal 1 binary64))
(pow.f64 (exp.f64 (log.f64 re)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 re re) #s(literal 1/4 binary64))
(pow.f64 re #s(literal 1/2 binary64))
(/.f64 (neg.f64 (sqrt.f64 re)) #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 (sqrt.f64 re) #s(literal 1 binary64))
(neg.f64 (neg.f64 (sqrt.f64 re)))
(sqrt.f64 re)
(-.f64 #s(literal 0 binary64) (neg.f64 (sqrt.f64 re)))
(exp.f64 (log.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (neg.f64 im))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) (neg.f64 im))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -2 binary64)) (neg.f64 im))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) im)
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (neg.f64 im))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) im)
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))) (neg.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal -1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (neg.f64 im) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 im #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 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.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 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (*.f64 (neg.f64 im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (neg.f64 im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal -1/2 binary64))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 (/.f64 im (sqrt.f64 re)) (exp.f64 (log.f64 #s(literal 1/2 binary64))))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(*.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -2 binary64)) (/.f64 #s(literal -1 binary64) im))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal -1 binary64) (pow.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (*.f64 #s(literal -2 binary64) (sqrt.f64 re)))
(/.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 im)))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (/.f64 #s(literal -1 binary64) im))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(/.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(/.f64 (neg.f64 im) (*.f64 #s(literal -2 binary64) (sqrt.f64 re)))
(/.f64 #s(literal -1 binary64) (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(/.f64 im (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(neg.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal -1 binary64))) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))))
(exp.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 #s(literal 2 binary64) (pow.f64 re #s(literal -1/2 binary64))) (pow.f64 im #s(literal -1 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(*.f64 (*.f64 (/.f64 #s(literal 2 binary64) im) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(*.f64 (/.f64 (sqrt.f64 re) #s(literal -1/2 binary64)) (/.f64 #s(literal -1 binary64) im))
(*.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal -1/2 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (neg.f64 im)))
(*.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1/2 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) im))
(*.f64 (/.f64 (sqrt.f64 re) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) im))
(*.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) im) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 #s(literal 2 binary64) im)))
(*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))))
(*.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (/.f64 #s(literal -1 binary64) im))
(*.f64 (/.f64 #s(literal -2 binary64) im) (/.f64 (sqrt.f64 re) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal -2 binary64) im) (neg.f64 (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) (pow.f64 im #s(literal -1 binary64)))
(*.f64 (pow.f64 im #s(literal -1 binary64)) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(*.f64 (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal -1 binary64))
(*.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal -2 binary64))
(*.f64 #s(literal -2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 (/.f64 #s(literal 2 binary64) im) #s(literal -1 binary64)))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal -1/2 binary64)))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 (/.f64 #s(literal -1 binary64) im) #s(literal 1/2 binary64)))
(*.f64 (neg.f64 (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(*.f64 #s(literal -1 binary64) (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)))
(*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))
(*.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))
(*.f64 (sqrt.f64 re) (/.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))))
(pow.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal -1 binary64))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) im)
(/.f64 (/.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))) (neg.f64 im))
(/.f64 (/.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(/.f64 (/.f64 #s(literal 2 binary64) (/.f64 #s(literal -1 binary64) (sqrt.f64 re))) (neg.f64 im))
(/.f64 (/.f64 #s(literal 2 binary64) (pow.f64 re #s(literal -1/2 binary64))) im)
(/.f64 (*.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) (neg.f64 im))
(/.f64 (*.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal 1 binary64)) #s(literal -1/2 binary64))
(/.f64 (*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal -1 binary64)) (neg.f64 im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)) im)
(/.f64 (*.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 (/.f64 (neg.f64 (sqrt.f64 re)) #s(literal 1/2 binary64)) (neg.f64 im))
(/.f64 (/.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64)) im)
(/.f64 (/.f64 (sqrt.f64 re) #s(literal -1/2 binary64)) (neg.f64 im))
(/.f64 (neg.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) im)
(/.f64 (exp.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))) (exp.f64 (log.f64 im)))
(/.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (*.f64 #s(literal 1 binary64) (neg.f64 im)))
(/.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (*.f64 (neg.f64 im) #s(literal 1 binary64)))
(/.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re)) (neg.f64 im))
(/.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) im)
(/.f64 (pow.f64 im #s(literal -1 binary64)) (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(/.f64 (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal -1 binary64))
(/.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im) #s(literal -1/2 binary64))
(/.f64 #s(literal -2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(/.f64 (neg.f64 (sqrt.f64 re)) (*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)))
(/.f64 (neg.f64 (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(/.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal 2 binary64) im) (pow.f64 re #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 1/2 binary64))
(/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))
(/.f64 #s(literal 2 binary64) (/.f64 im (sqrt.f64 re)))
(neg.f64 (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)))
(-.f64 (/.f64 #s(literal 0 binary64) (*.f64 #s(literal -1/2 binary64) im)) (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)))
(-.f64 #s(literal 0 binary64) (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)))
(exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(*.f64 (pow.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal -1 binary64) im) #s(literal -2 binary64))
(*.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) (/.f64 (/.f64 #s(literal -1 binary64) im) #s(literal 1 binary64)))
(*.f64 #s(literal -2 binary64) (/.f64 #s(literal -1 binary64) im))
(*.f64 #s(literal -1 binary64) (/.f64 #s(literal -2 binary64) im))
(*.f64 (/.f64 #s(literal 2 binary64) im) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) im))
(*.f64 #s(literal 2 binary64) (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1 binary64)))
(*.f64 #s(literal 2 binary64) (pow.f64 im #s(literal -1 binary64)))
(pow.f64 (*.f64 im #s(literal 1/2 binary64)) #s(literal -1 binary64))
(pow.f64 (/.f64 #s(literal 2 binary64) im) #s(literal 1 binary64))
(/.f64 (/.f64 #s(literal -1 binary64) im) #s(literal -1/2 binary64))
(/.f64 (/.f64 #s(literal -2 binary64) im) #s(literal -1 binary64))
(/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1/2 binary64))
(/.f64 #s(literal -2 binary64) (*.f64 #s(literal 1 binary64) (neg.f64 im)))
(/.f64 #s(literal -2 binary64) (neg.f64 im))
(/.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/2 binary64) im))
(/.f64 (/.f64 #s(literal 2 binary64) im) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 im #s(literal 1/2 binary64)))
(/.f64 #s(literal 2 binary64) im)
(neg.f64 (/.f64 (/.f64 #s(literal -2 binary64) im) #s(literal 1 binary64)))
(neg.f64 (/.f64 #s(literal -2 binary64) im))
(-.f64 #s(literal 0 binary64) (/.f64 #s(literal -2 binary64) im))
(exp.f64 (*.f64 (log.f64 (*.f64 im #s(literal 1/2 binary64))) #s(literal -1 binary64)))
(*.f64 (/.f64 (/.f64 #s(literal 2 binary64) re) (neg.f64 re)) #s(literal -2 binary64))
(*.f64 (/.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) re))
(*.f64 (/.f64 (/.f64 #s(literal 2 binary64) re) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) re))
(*.f64 (*.f64 (/.f64 #s(literal 4 binary64) re) #s(literal 1 binary64)) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (exp.f64 (log.f64 (/.f64 #s(literal 2 binary64) re))) (exp.f64 (log.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (*.f64 (pow.f64 re #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(*.f64 (/.f64 #s(literal -4 binary64) re) (/.f64 #s(literal -1 binary64) re))
(*.f64 (/.f64 #s(literal -2 binary64) re) (/.f64 (/.f64 #s(literal -1 binary64) re) #s(literal 1/2 binary64)))
(*.f64 (/.f64 #s(literal -2 binary64) re) (/.f64 #s(literal -2 binary64) re))
(*.f64 #s(literal -4 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (neg.f64 re) re)))
(*.f64 (pow.f64 re #s(literal -2 binary64)) #s(literal 4 binary64))
(*.f64 (/.f64 #s(literal 4 binary64) re) (pow.f64 re #s(literal -1 binary64)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (/.f64 #s(literal 4 binary64) re))
(*.f64 #s(literal -2 binary64) (/.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 re #s(literal 1/2 binary64))))
(*.f64 #s(literal -2 binary64) (/.f64 (/.f64 #s(literal 2 binary64) re) (neg.f64 re)))
(*.f64 #s(literal -2 binary64) (*.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 #s(literal 2 binary64) re)))
(*.f64 #s(literal -2 binary64) (/.f64 #s(literal 1 binary64) (/.f64 (*.f64 re re) #s(literal -2 binary64))))
(*.f64 #s(literal 4 binary64) (*.f64 (/.f64 #s(literal -1 binary64) re) (/.f64 #s(literal -1 binary64) re)))
(*.f64 #s(literal 4 binary64) (pow.f64 (/.f64 #s(literal -1 binary64) re) #s(literal 2 binary64)))
(*.f64 #s(literal 4 binary64) (pow.f64 re #s(literal -2 binary64)))
(*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re))
(*.f64 #s(literal 1 binary64) (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64)))
(*.f64 #s(literal 2 binary64) (*.f64 (pow.f64 re #s(literal -2 binary64)) #s(literal 2 binary64)))
(pow.f64 (exp.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) re)))
(pow.f64 (exp.f64 (log.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 2 binary64))
(pow.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) #s(literal -1 binary64))
(pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -2 binary64))
(pow.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64))
(/.f64 (/.f64 (/.f64 #s(literal -4 binary64) re) #s(literal -1 binary64)) re)
(/.f64 (*.f64 #s(literal -1 binary64) (/.f64 #s(literal 2 binary64) re)) (*.f64 re #s(literal -1/2 binary64)))
(/.f64 (*.f64 (/.f64 #s(literal 4 binary64) re) #s(literal -1 binary64)) (neg.f64 re))
(/.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) #s(literal -1 binary64)) (*.f64 re #s(literal -1/2 binary64)))
(/.f64 (neg.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 re #s(literal -1/2 binary64)))
(/.f64 (*.f64 (/.f64 #s(literal 4 binary64) re) #s(literal 1 binary64)) re)
(/.f64 (exp.f64 (log.f64 (/.f64 #s(literal 4 binary64) re))) (exp.f64 (log.f64 re)))
(/.f64 (exp.f64 (log.f64 #s(literal 4 binary64))) (*.f64 re re))
(/.f64 (*.f64 (pow.f64 re #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(/.f64 (/.f64 #s(literal -4 binary64) re) (neg.f64 re))
(/.f64 #s(literal -4 binary64) (*.f64 (neg.f64 re) re))
(/.f64 (/.f64 #s(literal 4 binary64) re) re)
(/.f64 #s(literal -2 binary64) (*.f64 (*.f64 re #s(literal -1/2 binary64)) re))
(/.f64 #s(literal -2 binary64) (*.f64 re (*.f64 re #s(literal -1/2 binary64))))
(/.f64 #s(literal -2 binary64) (/.f64 (*.f64 re re) #s(literal -2 binary64)))
(/.f64 #s(literal 4 binary64) (*.f64 re re))
(/.f64 #s(literal -1 binary64) (neg.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64))))
(/.f64 #s(literal -1 binary64) (*.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 re #s(literal 1/2 binary64))))
(/.f64 #s(literal -1 binary64) (*.f64 (*.f64 re #s(literal 1/2 binary64)) (*.f64 re #s(literal -1/2 binary64))))
(/.f64 (/.f64 #s(literal 2 binary64) re) (*.f64 re #s(literal 1/2 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/4 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re #s(literal -1/2 binary64)) (*.f64 re #s(literal -1/2 binary64))))
(/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) #s(literal 1/4 binary64)))
(/.f64 #s(literal 2 binary64) (neg.f64 (/.f64 (*.f64 re re) #s(literal -2 binary64))))
(/.f64 #s(literal 2 binary64) (*.f64 (neg.f64 re) (*.f64 re #s(literal -1/2 binary64))))
(/.f64 #s(literal 2 binary64) (*.f64 (*.f64 re #s(literal -1/2 binary64)) (neg.f64 re)))
(/.f64 #s(literal 2 binary64) (*.f64 (*.f64 re #s(literal 1/2 binary64)) re))
(neg.f64 (/.f64 (/.f64 #s(literal -4 binary64) re) re))
(neg.f64 (/.f64 #s(literal -4 binary64) (*.f64 re re)))
(neg.f64 (/.f64 (/.f64 #s(literal 4 binary64) re) (neg.f64 re)))
(neg.f64 (/.f64 (/.f64 #s(literal -2 binary64) re) (*.f64 re #s(literal 1/2 binary64))))
(neg.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal -2 binary64) re)))
(neg.f64 (*.f64 (/.f64 #s(literal -2 binary64) re) (/.f64 #s(literal 2 binary64) re)))
(exp.f64 (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64))) im))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal -1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 1/2 binary64)) im)
(*.f64 (*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) 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 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64))) im)
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64))) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im))
(*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im) (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 1/2 binary64))
(*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) (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 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)) (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im))))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im)))
(*.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64))) im))
(*.f64 im (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 im (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))))
(*.f64 im (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))))
(*.f64 #s(literal 1/2 binary64) (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(/.f64 (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))) (/.f64 #s(literal 2 binary64) im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) (neg.f64 im)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (neg.f64 im) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 1/2 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal 2 binary64))
(/.f64 (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) (/.f64 #s(literal 2 binary64) im))
(*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64))) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal -1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64))) (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) im))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) im)
(*.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)) (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im)))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im) #s(literal 1/2 binary64))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1/2 binary64)) im))
(*.f64 #s(literal -1/2 binary64) (*.f64 (neg.f64 im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im))
(/.f64 (*.f64 #s(literal -1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 #s(literal 1 binary64) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) (/.f64 #s(literal 2 binary64) im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (neg.f64 im)) #s(literal -2 binary64))
(/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (neg.f64 im) (sqrt.f64 (/.f64 #s(literal 2 binary64) re))) #s(literal -2 binary64))
(/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) im) #s(literal 2 binary64))
(/.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (/.f64 #s(literal 2 binary64) im))
(*.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (/.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal 1/2 binary64)) (/.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 2 binary64))))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)))
(pow.f64 (*.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/4 binary64))
(pow.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal 1/2 binary64)) (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/2 binary64))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal 1/2 binary64))) (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))))
(exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64))) (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) (*.f64 (pow.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)) #s(literal 1/4 binary64)) #s(literal 1/2 binary64)))
(*.f64 (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re)))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) (neg.f64 im))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) (neg.f64 im))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -2 binary64)) (neg.f64 im))
(*.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) im)
(*.f64 (/.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (neg.f64 im))
(*.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64)) im)
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1/2 binary64)) (neg.f64 im))
(*.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))) (neg.f64 im))
(*.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal -1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (neg.f64 im) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64))) (/.f64 (*.f64 im #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 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64))))
(*.f64 (/.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 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im))))
(*.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64))))
(*.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (*.f64 #s(literal -1/2 binary64) im))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (*.f64 (neg.f64 im) #s(literal 1 binary64)))
(*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (neg.f64 im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)) #s(literal -1 binary64))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))
(*.f64 (pow.f64 re #s(literal -1/2 binary64)) (*.f64 im #s(literal 1/2 binary64)))
(*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal -1/2 binary64))
(*.f64 (*.f64 #s(literal -1/2 binary64) im) (/.f64 #s(literal -1 binary64) (sqrt.f64 re)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(*.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal -1 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) im)
(*.f64 (/.f64 im (sqrt.f64 re)) (exp.f64 (log.f64 #s(literal 1/2 binary64))))
(*.f64 (/.f64 im (sqrt.f64 re)) #s(literal 1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 im) (sqrt.f64 re)))
(*.f64 (neg.f64 im) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal -1 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(*.f64 im (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)))
(*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)))
(*.f64 #s(literal 1/2 binary64) (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 2 binary64))
(pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1 binary64))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -2 binary64)) (/.f64 #s(literal -1 binary64) im))
(/.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 #s(literal -1 binary64) (pow.f64 re #s(literal -1/2 binary64))) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64))) (pow.f64 re #s(literal 1/4 binary64)))
(/.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) im) #s(literal 1 binary64)) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64)) (*.f64 #s(literal -2 binary64) (sqrt.f64 re)))
(/.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))) (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 im)))
(/.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re)) (/.f64 #s(literal -2 binary64) im))
(/.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (/.f64 #s(literal -1 binary64) im))
(/.f64 (pow.f64 re #s(literal -1/2 binary64)) (/.f64 #s(literal 2 binary64) im))
(/.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -1/2 binary64) im) (neg.f64 (sqrt.f64 re)))
(/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))
(/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) (pow.f64 im #s(literal -1 binary64)))
(/.f64 (/.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(/.f64 #s(literal -1/2 binary64) (/.f64 (neg.f64 (sqrt.f64 re)) im))
(/.f64 (neg.f64 im) (*.f64 #s(literal -2 binary64) (sqrt.f64 re)))
(/.f64 #s(literal -1 binary64) (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im)))
(/.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)) #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(/.f64 im (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))
(neg.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(-.f64 #s(literal 0 binary64) (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64)))
(exp.f64 (*.f64 (log.f64 (exp.f64 #s(literal -1 binary64))) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))))
(exp.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))))
(*.f64 #s(literal -1 binary64) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64))
(/.f64 (*.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) #s(literal -1 binary64)) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(/.f64 (*.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64))) #s(literal -1 binary64)) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal -1 binary64) (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(/.f64 (*.f64 #s(literal -1 binary64) (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64)))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 1/2 binary64)) (log.f64 #s(literal 1/2 binary64)))) (-.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 #s(literal 1/2 binary64))))
(/.f64 (+.f64 (pow.f64 (log.f64 (/.f64 im (sqrt.f64 re))) #s(literal 3 binary64)) (pow.f64 (log.f64 #s(literal 1/2 binary64)) #s(literal 3 binary64))) (+.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (-.f64 (*.f64 (log.f64 #s(literal 1/2 binary64)) (log.f64 #s(literal 1/2 binary64))) (*.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 #s(literal 1/2 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64)))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64))))
(/.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (neg.f64 (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))))
(/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64))) (neg.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)))))
(neg.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(fma.f64 (log.f64 #s(literal 2 binary64)) #s(literal -1 binary64) (log.f64 (/.f64 im (sqrt.f64 re))))
(fma.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal -1 binary64) (log.f64 (exp.f64 (log.f64 #s(literal 1/2 binary64)))))
(fma.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal -1 binary64) (log.f64 #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1 binary64) (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 im (sqrt.f64 re))))
(fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 (sqrt.f64 re) im)) (log.f64 (exp.f64 (log.f64 #s(literal 1/2 binary64)))))
(fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 (sqrt.f64 re) im)) (log.f64 #s(literal 1/2 binary64)))
(fma.f64 #s(literal -1 binary64) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 0 binary64))
(fma.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal -1 binary64) #s(literal 0 binary64))
(-.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 #s(literal 2 binary64)))
(-.f64 #s(literal 0 binary64) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(+.f64 (log.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64))) (log.f64 (neg.f64 im)))
(+.f64 (log.f64 (/.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (sqrt.f64 re)))) (log.f64 (neg.f64 im)))
(+.f64 (log.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -2 binary64))) (log.f64 (neg.f64 im)))
(+.f64 (log.f64 (/.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64))) (log.f64 im))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))) (log.f64 (neg.f64 im)))
(+.f64 (log.f64 (*.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) #s(literal -1 binary64))) (log.f64 im))
(+.f64 (log.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1/2 binary64))) (log.f64 (neg.f64 im)))
(+.f64 (log.f64 (*.f64 #s(literal 1 binary64) (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re)))) (log.f64 (neg.f64 im)))
(+.f64 (log.f64 (*.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)))) (log.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))))
(+.f64 (log.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64)))) (log.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (/.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 2 binary64)))))
(+.f64 (log.f64 (/.f64 #s(literal -1/2 binary64) (pow.f64 re #s(literal 1/4 binary64)))) (log.f64 (/.f64 (neg.f64 im) (pow.f64 re #s(literal 1/4 binary64)))))
(+.f64 (log.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 1/4 binary64)))) (log.f64 (/.f64 (*.f64 im #s(literal 1/2 binary64)) (pow.f64 re #s(literal 1/4 binary64)))))
(+.f64 (log.f64 (/.f64 im (pow.f64 re #s(literal 1/4 binary64)))) (log.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64)))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 1/4 binary64)))) (log.f64 (/.f64 im (pow.f64 re #s(literal 1/4 binary64)))))
(+.f64 (log.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64)))) (log.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im)))))
(+.f64 (log.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im)))) (log.f64 (pow.f64 (exp.f64 #s(literal -1 binary64)) (log.f64 #s(literal 2 binary64)))))
(+.f64 (log.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (log.f64 (*.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64)) #s(literal 1 binary64))))
(+.f64 (log.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))) (log.f64 (pow.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)) #s(literal -1/2 binary64))))
(+.f64 (log.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64))) (log.f64 (*.f64 im #s(literal 1/2 binary64))))
(+.f64 (log.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))) (log.f64 (*.f64 (neg.f64 im) #s(literal 1 binary64))))
(+.f64 (log.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))) (log.f64 (neg.f64 im)))
(+.f64 (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64))) (log.f64 #s(literal -1 binary64)))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))) (log.f64 (pow.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal -1 binary64))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))) (log.f64 im))
(+.f64 (log.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal -1 binary64))) (log.f64 (*.f64 #s(literal -1/2 binary64) im)))
(+.f64 (log.f64 (/.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64))) (log.f64 (*.f64 im #s(literal 1/2 binary64))))
(+.f64 (log.f64 (*.f64 #s(literal -1/2 binary64) im)) (log.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re))))
(+.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (*.f64 (/.f64 (neg.f64 im) (sqrt.f64 re)) #s(literal 1 binary64))))
(+.f64 (log.f64 #s(literal -1/2 binary64)) (log.f64 (/.f64 (neg.f64 im) (sqrt.f64 re))))
(+.f64 (log.f64 (*.f64 im #s(literal 1/2 binary64))) (log.f64 (*.f64 (pow.f64 re #s(literal -1/2 binary64)) #s(literal 1 binary64))))
(+.f64 (log.f64 (*.f64 im #s(literal 1/2 binary64))) (log.f64 (pow.f64 re #s(literal -1/2 binary64))))
(+.f64 (log.f64 (/.f64 (neg.f64 im) (sqrt.f64 re))) (log.f64 #s(literal -1/2 binary64)))
(+.f64 (log.f64 (/.f64 #s(literal -1 binary64) (sqrt.f64 re))) (log.f64 (*.f64 #s(literal -1/2 binary64) im)))
(+.f64 (log.f64 (pow.f64 re #s(literal -1/2 binary64))) (log.f64 (*.f64 im #s(literal 1/2 binary64))))
(+.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (*.f64 (/.f64 im (sqrt.f64 re)) #s(literal -1/2 binary64))))
(+.f64 (log.f64 #s(literal 1/2 binary64)) (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 (log.f64 (neg.f64 im)) (log.f64 (/.f64 #s(literal -1/2 binary64) (sqrt.f64 re))))
(+.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 (exp.f64 (log.f64 #s(literal 1/2 binary64)))))
(+.f64 (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 #s(literal 1/2 binary64)))
(+.f64 (log.f64 im) (log.f64 (*.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re)) #s(literal 1 binary64))))
(+.f64 (log.f64 im) (log.f64 (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
(+.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))))
(+.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))) #s(literal 0 binary64))
(log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
(*.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))))
(*.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)))) (*.f64 (log.f64 im) (log.f64 im))) (log.f64 (*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) im)))
(/.f64 (-.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64))) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))))
(/.f64 (-.f64 (pow.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) #s(literal 3 binary64)) (pow.f64 (log.f64 im) #s(literal 3 binary64))) (fma.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (fma.f64 (log.f64 im) (log.f64 im) (*.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (log.f64 im)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))) (neg.f64 (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 #s(literal 2 binary64)) (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (*.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im))))))
(/.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64))) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64))))
(/.f64 #s(literal 1 binary64) (/.f64 (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))
(/.f64 #s(literal 1 binary64) (/.f64 (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64))) (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64)))))
(neg.f64 (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))))
(fma.f64 (-.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))) #s(literal 0 binary64))
(fma.f64 (+.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 3 binary64)) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 #s(literal 2 binary64) (/.f64 (sqrt.f64 re) im))) (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)))) #s(literal 0 binary64))
(fma.f64 (log.f64 re) #s(literal 1/2 binary64) (log.f64 (/.f64 #s(literal 2 binary64) im)))
(fma.f64 #s(literal -1 binary64) (log.f64 (/.f64 im (sqrt.f64 re))) (log.f64 #s(literal 2 binary64)))
(fma.f64 #s(literal -1 binary64) (log.f64 im) (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))))
(fma.f64 #s(literal 1/2 binary64) (log.f64 re) (log.f64 (/.f64 #s(literal 2 binary64) im)))
(-.f64 (+.f64 (log.f64 #s(literal 2 binary64)) #s(literal 0 binary64)) (log.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (/.f64 (pow.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) #s(literal 2 binary64)) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))) (/.f64 (pow.f64 (log.f64 #s(literal 2 binary64)) #s(literal 2 binary64)) (log.f64 (/.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))))
(-.f64 (log.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) (log.f64 (neg.f64 im)))
(-.f64 (log.f64 (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im))) (log.f64 #s(literal -1 binary64)))
(-.f64 (log.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im)) (log.f64 #s(literal -1/2 binary64)))
(-.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (log.f64 im))
(-.f64 (log.f64 (neg.f64 (sqrt.f64 re))) (log.f64 (*.f64 #s(literal -1/2 binary64) im)))
(-.f64 (log.f64 (sqrt.f64 re)) (log.f64 (*.f64 im #s(literal 1/2 binary64))))
(-.f64 #s(literal 0 binary64) (log.f64 (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im))))
(-.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) (log.f64 #s(literal 1/2 binary64)))
(-.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 0 binary64))
(+.f64 (log.f64 (/.f64 #s(literal 2 binary64) (pow.f64 re #s(literal -1/2 binary64)))) (neg.f64 (log.f64 im)))
(+.f64 (log.f64 (*.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (log.f64 im)))
(+.f64 (log.f64 (*.f64 (/.f64 #s(literal 2 binary64) im) (pow.f64 re #s(literal 1/4 binary64)))) (log.f64 (pow.f64 re #s(literal 1/4 binary64))))
(+.f64 (log.f64 (/.f64 (sqrt.f64 re) #s(literal -1/2 binary64))) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+.f64 (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal -1/2 binary64))) (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (neg.f64 im))))
(+.f64 (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1/2 binary64))) (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) im)))
(+.f64 (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) im)) (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1/2 binary64))))
(+.f64 (log.f64 (/.f64 (sqrt.f64 re) #s(literal -1 binary64))) (log.f64 (/.f64 #s(literal -2 binary64) im)))
(+.f64 (log.f64 (/.f64 #s(literal -2 binary64) im)) (log.f64 (/.f64 (sqrt.f64 re) #s(literal -1 binary64))))
(+.f64 (log.f64 (/.f64 #s(literal -2 binary64) im)) (log.f64 (neg.f64 (sqrt.f64 re))))
(+.f64 (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) #s(literal 1 binary64))) (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64)))))
(+.f64 (log.f64 (*.f64 #s(literal -2 binary64) (sqrt.f64 re))) (log.f64 (/.f64 #s(literal -1 binary64) im)))
(+.f64 (log.f64 (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im))) (log.f64 #s(literal -1 binary64)))
(+.f64 (log.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im)) (log.f64 #s(literal -2 binary64)))
(+.f64 (log.f64 (/.f64 #s(literal 2 binary64) im)) (log.f64 (sqrt.f64 re)))
(+.f64 (log.f64 #s(literal -2 binary64)) (log.f64 (/.f64 (neg.f64 (sqrt.f64 re)) im)))
(+.f64 (log.f64 (pow.f64 re #s(literal 1/4 binary64))) (log.f64 (*.f64 (pow.f64 re #s(literal 1/4 binary64)) (/.f64 #s(literal 2 binary64) im))))
(+.f64 (log.f64 (pow.f64 re #s(literal 1/4 binary64))) (log.f64 (/.f64 (pow.f64 re #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64)))))
(+.f64 (log.f64 #s(literal -1 binary64)) (log.f64 (*.f64 #s(literal -2 binary64) (/.f64 (sqrt.f64 re) im))))
(+.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (log.f64 (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal 1 binary64))))
(+.f64 (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))) (neg.f64 (log.f64 im)))
(+.f64 (log.f64 (neg.f64 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 #s(literal 2 binary64) im) #s(literal -1 binary64))))
(+.f64 (log.f64 (neg.f64 (sqrt.f64 re))) (log.f64 (/.f64 (pow.f64 im #s(literal -1 binary64)) #s(literal -1/2 binary64))))
(+.f64 (log.f64 (neg.f64 (sqrt.f64 re))) (log.f64 (/.f64 (/.f64 #s(literal -1 binary64) im) #s(literal 1/2 binary64))))
(+.f64 (log.f64 (neg.f64 (sqrt.f64 re))) (log.f64 (/.f64 #s(literal -2 binary64) im)))
(+.f64 (neg.f64 (log.f64 im)) (log.f64 (*.f64 (sqrt.f64 re) #s(literal 2 binary64))))
(+.f64 (log.f64 (sqrt.f64 re)) (log.f64 (/.f64 #s(literal 2 binary64) im)))
(+.f64 #s(literal 0 binary64) (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))
(+.f64 (log.f64 #s(literal 2 binary64)) (log.f64 (/.f64 (sqrt.f64 re) im)))
(+.f64 (log.f64 (/.f64 (sqrt.f64 re) im)) (log.f64 #s(literal 2 binary64)))
(+.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 0 binary64))
(log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64)))
(*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64))) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64))) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)))
(*.f64 (pow.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1 binary64)) (pow.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) #s(literal 2 binary64)) (pow.f64 (pow.f64 re #s(literal -1/4 binary64)) #s(literal 2 binary64)))
(*.f64 (pow.f64 (/.f64 #s(literal 4 binary64) re) #s(literal 1/4 binary64)) (pow.f64 re #s(literal -1/4 binary64)))
(*.f64 (pow.f64 #s(literal 4 binary64) #s(literal 1/4 binary64)) (pow.f64 (pow.f64 re #s(literal -2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (pow.f64 #s(literal -2 binary64) #s(literal 1/2 binary64)) (pow.f64 (/.f64 #s(literal -1 binary64) re) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 2 binary64) re)))
(*.f64 (pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)) (*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/8 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64))))
(*.f64 (pow.f64 #s(literal 2 binary64) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (pow.f64 re #s(literal -2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64)))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal -1/4 binary64)) (pow.f64 re #s(literal -1/4 binary64))))
(*.f64 (sqrt.f64 #s(literal 2 binary64)) (pow.f64 (pow.f64 re #s(literal -1 binary64)) #s(literal 1/2 binary64)))
(*.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)))
(pow.f64 (exp.f64 #s(literal 1/4 binary64)) (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64))))
(pow.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 4 binary64)) #s(literal 1/8 binary64))
(pow.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64)) #s(literal 2 binary64))
(pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/2 binary64))
(pow.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 1/2 binary64))
(sqrt.f64 (/.f64 #s(literal 2 binary64) re))
(exp.f64 (fma.f64 (log.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64) (*.f64 #s(literal 1/8 binary64) (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64))))))
(exp.f64 (fma.f64 #s(literal 1/8 binary64) (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64))) (*.f64 (log.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64))))
(exp.f64 (fma.f64 #s(literal 1/8 binary64) (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64))) (*.f64 #s(literal 1/8 binary64) (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64))))))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) #s(literal 2 binary64)))
(exp.f64 (*.f64 (*.f64 #s(literal 1/8 binary64) (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 2 binary64)))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 #s(literal 2 binary64) re) #s(literal 4 binary64))) #s(literal 1/8 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re #s(literal 1/2 binary64)) #s(literal -1/4 binary64))) #s(literal 2 binary64)))
(exp.f64 (*.f64 (log.f64 (/.f64 #s(literal 2 binary64) re)) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 #s(literal 1/2 binary64) (log.f64 (/.f64 #s(literal 2 binary64) re))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
(exp.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
(*.f64 (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) im)) (/.f64 #s(literal -1 binary64) re))
(*.f64 (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)) (pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1/2 binary64)))
(*.f64 (/.f64 im #s(literal -1 binary64)) (/.f64 (neg.f64 im) re))
(*.f64 (/.f64 #s(literal -1 binary64) re) (*.f64 (neg.f64 im) im))
(*.f64 (/.f64 im re) im)
(*.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 (pow.f64 im #s(literal -2 binary64)) #s(literal -1 binary64)))
(*.f64 (pow.f64 re #s(literal -1 binary64)) (*.f64 im im))
(*.f64 (*.f64 (neg.f64 im) im) (/.f64 #s(literal -1 binary64) re))
(*.f64 (neg.f64 im) (*.f64 im (/.f64 #s(literal -1 binary64) re)))
(*.f64 (neg.f64 im) (/.f64 im (neg.f64 re)))
(*.f64 #s(literal -1 binary64) (/.f64 (*.f64 (neg.f64 im) im) re))
(*.f64 (/.f64 (*.f64 im im) re) #s(literal 1 binary64))
(*.f64 (*.f64 im im) (pow.f64 re #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) (/.f64 (*.f64 im im) re))
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) #s(literal -1 binary64))
(/.f64 (/.f64 (*.f64 (neg.f64 im) im) #s(literal -1 binary64)) re)
(/.f64 (*.f64 (*.f64 (neg.f64 im) im) #s(literal 1 binary64)) (neg.f64 re))
(/.f64 (*.f64 #s(literal 1 binary64) (*.f64 (neg.f64 im) im)) (neg.f64 re))
(/.f64 (pow.f64 re #s(literal -1 binary64)) (pow.f64 im #s(literal -2 binary64)))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))
(/.f64 #s(literal -1 binary64) (/.f64 re (*.f64 (neg.f64 im) im)))
(/.f64 (*.f64 im im) re)
(/.f64 #s(literal 1 binary64) (/.f64 re (*.f64 im im)))
(/.f64 im (/.f64 re im))
(neg.f64 (/.f64 #s(literal -1 binary64) (/.f64 re (*.f64 im im))))
(neg.f64 (*.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 im) im) re)))
(neg.f64 (/.f64 (*.f64 (neg.f64 im) im) re))
(-.f64 (/.f64 #s(literal 0 binary64) (neg.f64 re)) (/.f64 (*.f64 (neg.f64 im) im) re))
(-.f64 #s(literal 0 binary64) (/.f64 (*.f64 (neg.f64 im) im) re))
(exp.f64 (*.f64 (log.f64 (/.f64 re (*.f64 im im))) #s(literal -1 binary64)))

eval106.0ms (1.7%)

Memory
29.9MiB live, 191.9MiB allocated
Compiler

Compiled 24 430 to 3 629 computations (85.1% saved)

prune29.0ms (0.5%)

Memory
-13.6MiB live, 66.8MiB allocated
Pruning

13 alts after pruning (3 fresh and 10 done)

PrunedKeptTotal
New7833786
Fresh101
Picked235
Done077
Total78613799
Accuracy
100.0%
Counts
799 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
56.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
54.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
25.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
15.7%
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
25.5%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
24.1%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))))
25.5%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
20.7%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 #s(literal 4 binary64) re) re) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
25.7%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
25.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
24.1%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (neg.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))))
Compiler

Compiled 856 to 360 computations (57.9% saved)

regimes59.0ms (0.9%)

Memory
-13.0MiB live, 109.1MiB allocated
Counts
22 → 4
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1/2 binary64) (/.f64 (sqrt.f64 re) im)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (*.f64 (/.f64 #s(literal 2 binary64) im) (sqrt.f64 re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (/.f64 (sqrt.f64 re) (*.f64 im #s(literal 1/2 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 2 binary64) re)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 im (sqrt.f64 #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (/.f64 (/.f64 #s(literal 4 binary64) re) re) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 (pow.f64 (*.f64 (/.f64 #s(literal 2 binary64) re) (/.f64 #s(literal 2 binary64) re)) #s(literal 1/4 binary64)) (*.f64 im #s(literal 1/2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))))
(*.f64 #s(literal 1/2 binary64) (exp.f64 (*.f64 (log.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (neg.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #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)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (exp.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 #s(literal 1 binary64) (exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 (sqrt.f64 re) im) #s(literal 2 binary64))) #s(literal 1 binary64)))))
Outputs
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re)))
(*.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 (+.f64 (*.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)))))
Calls

7 calls:

12.0ms
(*.f64 im im)
10.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
8.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
8.0ms
re
7.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
AccuracySegmentsBranch
79.7%4re
71.3%4im
81.1%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))))
81.1%4(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
80.0%4(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
80.0%4(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
69.4%3(*.f64 im im)
Compiler

Compiled 55 to 45 computations (18.2% saved)

regimes19.0ms (0.3%)

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

5 calls:

5.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
4.0ms
re
3.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
3.0ms
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
3.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
AccuracySegmentsBranch
77.9%3re
70.0%3(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
70.0%3(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
71.1%3(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
71.1%3(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Compiler

Compiled 51 to 40 computations (21.6% saved)

regimes13.0ms (0.2%)

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

7 calls:

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

Compiled 55 to 45 computations (18.2% saved)

regimes4.0ms (0.1%)

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

3 calls:

1.0ms
re
1.0ms
im
1.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
63.3%2re
63.1%2im
63.1%2(*.f64 im im)
Compiler

Compiled 5 to 7 computations (-40% saved)

regimes8.0ms (0.1%)

Memory
21.5MiB live, 21.5MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

7 calls:

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

Compiled 55 to 45 computations (18.2% saved)

bsearch1.0ms (0%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.127188548124267e+75
7.391472622105432e+76
0.0ms
7.061379946572444e-83
2.7847070476356055e-80
0.0ms
0.0
5.860102865504621e-148
Compiler

Compiled 18 to 17 computations (5.6% saved)

bsearch38.0ms (0.6%)

Memory
-15.1MiB live, 65.0MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
4.290403716131043e+35
2.338759753015249e+40
11.0ms
-2.5609909298394924e+23
-2.063706449703629e+22
Samples
11.0ms157×0valid
8.0ms41×2valid
4.0ms13×3valid
2.0ms13×1valid
Compiler

Compiled 574 to 464 computations (19.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-hypot: 7.0ms (41.1% of total)
ival-mult: 4.0ms (23.5% of total)
ival-sub: 2.0ms (11.7% of total)
ival-sqrt: 2.0ms (11.7% of total)
adjust: 1.0ms (5.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch21.0ms (0.3%)

Memory
-1.9MiB live, 37.2MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
19.0ms
3.1236607126805483e-127
5.2883007019665463e-126
Samples
7.0ms27×2valid
4.0ms70×0valid
2.0ms3valid
1.0ms1valid
Compiler

Compiled 284 to 231 computations (18.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 11.0ms
ival-hypot: 4.0ms (36% of total)
ival-sub: 3.0ms (27% of total)
ival-mult: 2.0ms (18% of total)
adjust: 1.0ms (9% of total)
ival-sqrt: 1.0ms (9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

bsearch14.0ms (0.2%)

Memory
-9.8MiB live, 27.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
13.0ms
-28249746690771747000.0
-2410417944358998000.0
Samples
6.0ms96×0valid
Compiler

Compiled 246 to 206 computations (16.3% saved)

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

simplify77.0ms (1.2%)

Memory
12.4MiB live, 50.5MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062294
170294
283294
399294
4126294
5155294
6225294
7474294
8664294
9840294
101046294
111692294
122209294
134040294
145445294
157140294
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) #s(literal 0 binary64)) #s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))) (if (<=.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) #s(literal 213598703592091/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576 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 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) #s(literal 3999999999999999706159124705924795694035212860797871549050585679121449222144 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))))))
(if (<=.f64 re #s(literal -160000000000000000000000 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 619999999999999973174172239607627776 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(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))))
(if (<=.f64 im #s(literal 8231172935403495/6097165137335922326917182089439777940915230747392521779021790936768304177382354726797472857545882756171536974846497310342671827498609932238848 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))))
(if (<=.f64 re #s(literal -5000000000000000000 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
Outputs
(if (<=.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) #s(literal 0 binary64)) #s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (/.f64 (*.f64 im #s(literal 1/2 binary64)) (sqrt.f64 re))) (if (<=.f64 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) #s(literal 213598703592091/2135987035920910082395021706169552114602704522356652769947041607822219725780640550022962086936576 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 (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) #s(literal 3999999999999999706159124705924795694035212860797871549050585679121449222144 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))))))
(if (<=.f64 re #s(literal -160000000000000000000000 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 619999999999999973174172239607627776 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(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (/.f64 #s(literal 1/2 binary64) (sqrt.f64 re))))))
(if (<=.f64 im #s(literal 8231172935403495/6097165137335922326917182089439777940915230747392521779021790936768304177382354726797472857545882756171536974846497310342671827498609932238848 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (-.f64 im re))))))
(if (<=.f64 re #s(literal -5000000000000000000 binary64)) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re)))) (*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal 2 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))

soundness462.0ms (7.2%)

Memory
12.4MiB live, 415.7MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041302
063302
1153298
2710279
36612279
08262209
05513021
118142867
264042838
081302681
Stop Event
fuel
iter limit
node limit
iter limit
node limit
iter limit
Compiler

Compiled 442 to 204 computations (53.8% saved)

preprocess34.0ms (0.5%)

Memory
-3.7MiB live, 74.1MiB allocated
Remove

(abs im)

Compiler

Compiled 864 to 242 computations (72% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...