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

Time bar (total: 3.6s)

start0.0ms (0%)

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

analyze126.0ms (3.5%)

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

Compiled 19 to 12 computations (36.8% saved)

sample1.7s (47%)

Memory
60.2MiB live, 2 258.7MiB allocated; 557ms collecting garbage
Samples
569.0ms6 217×0valid
186.0ms474×3valid
180.0ms820×2valid
108.0ms745×1valid
Precisions
Click to see histograms. Total time spent on operations: 732.0ms
ival-hypot: 334.0ms (45.6% of total)
ival-sqrt: 168.0ms (22.9% of total)
ival-mult!: 134.0ms (18.3% of total)
adjust: 61.0ms (8.3% of total)
ival-sub!: 34.0ms (4.6% of total)
Bogosity

preprocess48.0ms (1.3%)

Memory
-2.9MiB live, 42.3MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03690
112790
235390
382290
4318290
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.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))))
Symmetry

(abs im)

Compiler

Compiled 24 to 24 computations (0% saved)

series25.0ms (0.7%)

Memory
11.7MiB live, 56.9MiB allocated; 7ms collecting garbage
Counts
12 → 113
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
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (sqrt im) (sqrt 2)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* (sqrt im) (sqrt 2))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* 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)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* 2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* -2 re) (* 2 im))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (/ re im) 2)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* -1 re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* 1/2 (/ re im)) 1)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* 1/2 (/ (pow re 2) im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ 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)))))))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (pow im 2)))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (+ (pow im 2) (pow re 2))))
#s(approx (* re re) #s(hole binary64 (pow re 2)))
#s(approx re #s(hole binary64 re))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (pow im 2) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -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)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* 1/2 (/ (pow im 2) re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -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)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* 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)))))))))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -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))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -4 re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole 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)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -2 re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole 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))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole 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))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (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)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (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))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* 1/2 (/ (pow im 2) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ 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)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (* -2 (/ re im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (+ 1 (* -1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* 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)))))))))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* 2 (/ re im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole 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))))))))))
Calls

6 calls:

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

rewrite519.0ms (14.4%)

Memory
40.2MiB live, 229.3MiB allocated; 38ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06804645
06924139
145664055
080913331
1250773331
Stop Event
saturated
node-limit
iter-limit
Counts
125 → 178
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
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (sqrt im) (sqrt 2)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* (sqrt im) (sqrt 2))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* 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)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* 2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* -2 re) (* 2 im))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (/ re im) 2)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* -1 re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* 1/2 (/ re im)) 1)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* 1/2 (/ (pow re 2) im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ 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)))))))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (pow im 2)))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (+ (pow im 2) (pow re 2))))
#s(approx (* re re) #s(hole binary64 (pow re 2)))
#s(approx re #s(hole binary64 re))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (pow im 2) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -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)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* 1/2 (/ (pow im 2) re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -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)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* 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)))))))))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -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))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -4 re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole 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)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -2 re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole 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))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole 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))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (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)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (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))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* 1/2 (/ (pow im 2) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ 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)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (* -2 (/ re im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (+ 1 (* -1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* 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)))))))))
#s(approx (+ (* re re) (* im im)) #s(hole binary64 (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* 2 (/ re im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole 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))))))))))
Outputs
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))))
#s(literal 1/2 binary64)
(pow.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64)))
(fabs.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re))
(+.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re))
#s(literal 2 binary64)
(neg.f64 (-.f64 re (sqrt.f64 (fma.f64 im im (*.f64 re re)))))
(-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re)
(+.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) (neg.f64 re))
(pow.f64 (fma.f64 im im (*.f64 re re)) #s(literal 1/2 binary64))
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fabs.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))))
(hypot.f64 (fabs.f64 im) (fabs.f64 re))
(hypot.f64 (fabs.f64 im) (neg.f64 re))
(hypot.f64 (fabs.f64 im) re)
(hypot.f64 (fabs.f64 re) (fabs.f64 im))
(hypot.f64 (fabs.f64 re) (neg.f64 im))
(hypot.f64 (fabs.f64 re) im)
(hypot.f64 (neg.f64 im) (fabs.f64 re))
(hypot.f64 (neg.f64 im) (neg.f64 re))
(hypot.f64 (neg.f64 im) re)
(hypot.f64 (neg.f64 re) (fabs.f64 im))
(hypot.f64 (neg.f64 re) (neg.f64 im))
(hypot.f64 (neg.f64 re) im)
(hypot.f64 im (fabs.f64 re))
(hypot.f64 im (neg.f64 re))
(hypot.f64 im re)
(hypot.f64 re (fabs.f64 im))
(hypot.f64 re (neg.f64 im))
(hypot.f64 re im)
(fma.f64 (fabs.f64 im) (fabs.f64 im) (*.f64 re re))
(fma.f64 (fabs.f64 re) (fabs.f64 re) (*.f64 im im))
(fma.f64 (neg.f64 im) (neg.f64 im) (*.f64 re re))
(fma.f64 (neg.f64 re) (neg.f64 re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(-.f64 (*.f64 im im) (neg.f64 (*.f64 re re)))
(-.f64 (*.f64 re re) (*.f64 (neg.f64 im) im))
(-.f64 (*.f64 re re) (neg.f64 (*.f64 im im)))
(+.f64 (*.f64 im im) (*.f64 re re))
(+.f64 (*.f64 re re) (*.f64 im im))
(*.f64 (fabs.f64 re) (fabs.f64 re))
(*.f64 (neg.f64 re) (neg.f64 re))
(*.f64 re re)
(pow.f64 (neg.f64 (fabs.f64 re)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 re)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 re) #s(literal 2 binary64))
(pow.f64 (neg.f64 re) #s(literal 2 binary64))
(pow.f64 re #s(literal 2 binary64))
(fabs.f64 (*.f64 re re))
re
(*.f64 (fabs.f64 im) (fabs.f64 im))
(*.f64 (neg.f64 im) (neg.f64 im))
(*.f64 im im)
(pow.f64 (neg.f64 (fabs.f64 im)) #s(literal 2 binary64))
(pow.f64 (neg.f64 (neg.f64 im)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 im) #s(literal 2 binary64))
(pow.f64 (neg.f64 im) #s(literal 2 binary64))
(pow.f64 im #s(literal 2 binary64))
(fabs.f64 (*.f64 im im))
im
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (sqrt.f64 (+.f64 im im)) #s(literal 1/2 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (*.f64 (sqrt.f64 (+.f64 im im)) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) #s(literal -1/4 binary64))) re (*.f64 (sqrt.f64 (+.f64 im im)) #s(literal 1/2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 re (fma.f64 (fma.f64 (*.f64 #s(literal 1/32 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (*.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)) #s(literal 2 binary64))) #s(literal 1/16 binary64))) re (*.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) #s(literal -1/4 binary64))) (*.f64 (sqrt.f64 (+.f64 im im)) #s(literal 1/2 binary64))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (sqrt.f64 (+.f64 im im)))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (+.f64 im im))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 (fma.f64 #s(literal -1/2 binary64) (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal 1/8 binary64))) re (sqrt.f64 (+.f64 im im))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 re (fma.f64 (fma.f64 (*.f64 #s(literal 1/16 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (*.f64 #s(literal 1/8 binary64) (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)) #s(literal 2 binary64))))) re (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))))) (sqrt.f64 (+.f64 im im))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal -2 binary64) re (+.f64 im im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (fma.f64 (fma.f64 (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) im)) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) im)) re #s(literal -2 binary64)) re (+.f64 im im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) im)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (fma.f64 (fma.f64 (/.f64 re im) #s(literal 1/2 binary64) #s(literal -1 binary64)) re im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) im)) (/.f64 #s(literal 1/2 binary64) im)) re #s(literal -1 binary64)) re im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 (*.f64 re re) im) #s(literal 1/2 binary64) im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (*.f64 re re) (*.f64 (*.f64 im im) im)) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) im))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (*.f64 re re) (pow.f64 im #s(literal -5 binary64))) #s(literal 1/16 binary64)) (/.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 im im) im))) (*.f64 re re) (/.f64 #s(literal 1/2 binary64) im)) (*.f64 re re) im))
#s(approx (+ (* re re) (* im im)) (*.f64 im im))
#s(approx (+ (* re re) (* im im)) (fma.f64 im im (*.f64 re re)))
#s(approx (* re re) (*.f64 re re))
#s(approx re re)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (*.f64 im im) im) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (*.f64 im im) im) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal -9 binary64)))) #s(literal 1/64 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 (*.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (*.f64 im im) im) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (fma.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 (pow.f64 re #s(literal -9 binary64)))) #s(literal -1/1024 binary64) (fma.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal -9 binary64)))) #s(literal 1/64 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 #s(literal 1 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (*.f64 im im) im) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (*.f64 #s(literal 1 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (*.f64 im im) im) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (fma.f64 (*.f64 #s(literal 1 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal -9 binary64)))) #s(literal 1/32 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (*.f64 im im) im) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (fma.f64 #s(literal -1/512 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 (pow.f64 re #s(literal -9 binary64)))) (fma.f64 (*.f64 #s(literal 1 binary64) im) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (*.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal -9 binary64)))) #s(literal 1/32 binary64))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 re re)) #s(literal -1/4 binary64) (*.f64 im im)) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 re re)) #s(literal -1/4 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/8 binary64) (*.f64 im im))) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (+.f64 (neg.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) (*.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re)))) (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 re re)) #s(literal -1/4 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/8 binary64) (*.f64 im im)))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 re re)) #s(literal -1/8 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 re re)) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/16 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64)))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 8 binary64)) #s(literal 5/64 binary64)) (*.f64 (*.f64 (*.f64 re re) re) (*.f64 (*.f64 re re) re))) #s(literal -1/2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 re re)) #s(literal -1/8 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal 1/16 binary64) (*.f64 (*.f64 im im) #s(literal 1/2 binary64))))) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 1/2 binary64) #s(literal 1 binary64)) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/8 binary64) (/.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re re))) #s(literal 1 binary64)) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/8 binary64) (fma.f64 (pow.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 3 binary64)) #s(literal 1/16 binary64) (/.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re re)))) #s(literal 1 binary64)) re))
#s(approx (+ (* re re) (* im im)) (*.f64 (+.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 1 binary64)) (*.f64 re re)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal -1/8 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (neg.f64 (/.f64 (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/8 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (*.f64 im im) (*.f64 im im)))) #s(literal -1/32 binary64))) (*.f64 (*.f64 re re) re))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (neg.f64 re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (neg.f64 (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (*.f64 im im) (*.f64 im im)))) #s(literal -1/32 binary64) (fma.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)))) #s(literal 1/64 binary64) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) #s(literal 1/8 binary64)))) (*.f64 (*.f64 re re) re))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (neg.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.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 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal -1/4 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.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) (neg.f64 (/.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (*.f64 im im) (*.f64 im im)))) #s(literal -1/16 binary64))) (*.f64 (*.f64 re re) re))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.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) (neg.f64 (/.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re))) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (*.f64 im im) (*.f64 im im)))) #s(literal -1/16 binary64) (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 im im)) (sqrt.f64 re)) (*.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -1 binary64)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal 1/2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 re re) re)))) #s(literal 1/32 binary64)))) (*.f64 (*.f64 re re) re))))))
#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 (neg.f64 re) (+.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 4 binary64))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/4 binary64) (/.f64 (*.f64 im im) (*.f64 re re))) #s(literal 4 binary64))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/4 binary64) (fma.f64 (pow.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 3 binary64)) #s(literal 1/8 binary64) (/.f64 (*.f64 im im) (*.f64 re re)))) #s(literal 4 binary64))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -2 binary64) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (neg.f64 re) (fma.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 1/2 binary64) #s(literal 2 binary64))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/8 binary64) (/.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re re))) #s(literal 2 binary64))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/8 binary64) (fma.f64 (pow.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 3 binary64)) #s(literal 1/16 binary64) (/.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re re)))) #s(literal 2 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (neg.f64 re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 re) (fma.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 1/2 binary64) #s(literal 1 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/8 binary64) (/.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re re))) #s(literal 1 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 re) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 im im) (*.f64 im im)) (*.f64 (*.f64 re re) (*.f64 re re))) #s(literal -1/8 binary64) (fma.f64 (pow.f64 (/.f64 (*.f64 im im) (*.f64 re re)) #s(literal 3 binary64)) #s(literal 1/16 binary64) (/.f64 (*.f64 (*.f64 im im) #s(literal 1/2 binary64)) (*.f64 re re)))) #s(literal 1 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (fma.f64 (*.f64 (*.f64 (*.f64 im im) #s(literal 2 binary64)) (sqrt.f64 (pow.f64 re #s(literal -5 binary64)))) #s(literal -1/32 binary64) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1 binary64)) #s(literal 1/2 binary64))) im))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1 binary64)) #s(literal 1/2 binary64) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal -1/256 binary64) (/.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) #s(literal 2 binary64)) #s(literal -1/32 binary64))) (*.f64 im im))) im))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal -1/256 binary64) (/.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal 1/4 binary64) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal -1/256 binary64) (/.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))) #s(literal -1/16 binary64) (*.f64 (pow.f64 re #s(literal -7 binary64)) #s(literal 5/128 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal -1/4 binary64))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) #s(literal 2 binary64)) #s(literal -1/32 binary64))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1 binary64)) #s(literal 1/2 binary64))) im))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (*.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 im im) #s(literal 2 binary64))) (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1 binary64))) im))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal -1/256 binary64) (/.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) #s(literal 2 binary64)) #s(literal -1/16 binary64))) (*.f64 im im))) im))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (fma.f64 (fma.f64 (*.f64 (/.f64 (*.f64 (fma.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal -1/256 binary64) (/.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64)))) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal 1/2 binary64) (*.f64 (*.f64 (/.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (fma.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/16 binary64) (*.f64 #s(literal -1/256 binary64) (/.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/2 binary64)))) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))) #s(literal -1/16 binary64) (*.f64 (pow.f64 re #s(literal -7 binary64)) #s(literal 5/128 binary64))) (sqrt.f64 #s(literal 2 binary64))) (*.f64 im im)) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) #s(literal -1/2 binary64))) (*.f64 im im) (*.f64 (*.f64 (sqrt.f64 (pow.f64 re #s(literal -5 binary64))) #s(literal 2 binary64)) #s(literal -1/16 binary64))) (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) #s(literal 1 binary64))) im))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (fma.f64 (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) re)) #s(literal -1/4 binary64) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (*.f64 im im) (pow.f64 re #s(literal -5 binary64))) #s(literal 1/8 binary64)) (/.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 re re) re))) (*.f64 im im) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (*.f64 im im) (pow.f64 re #s(literal -7 binary64))) #s(literal -5/64 binary64) (*.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/8 binary64))) (*.f64 im im)) (/.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 re re) re))) (*.f64 im im) (/.f64 #s(literal 1 binary64) re)) (*.f64 im im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (fma.f64 (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) re)) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (*.f64 im im) (pow.f64 re #s(literal -5 binary64))) #s(literal 1/16 binary64)) (/.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -5/128 binary64) (*.f64 (*.f64 im im) (pow.f64 re #s(literal -7 binary64))) (*.f64 (pow.f64 re #s(literal -5 binary64)) #s(literal 1/16 binary64))) (*.f64 im im)) (/.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im)))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (/.f64 (*.f64 im im) re) #s(literal 1/2 binary64) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (fma.f64 (/.f64 (*.f64 im im) (*.f64 (*.f64 re re) re)) #s(literal -1/8 binary64) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re))
#s(approx (sqrt (+ (* re re) (* im im))) (fma.f64 (fma.f64 (-.f64 (*.f64 (*.f64 (*.f64 im im) (pow.f64 re #s(literal -5 binary64))) #s(literal 1/16 binary64)) (/.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 re re) re))) (*.f64 im im) (/.f64 #s(literal 1/2 binary64) re)) (*.f64 im im) re))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) #s(literal 1/2 binary64))) im))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (fma.f64 (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re)) #s(literal -1/4 binary64) (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) #s(literal 1/2 binary64)))) im))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 #s(literal -1/16 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal 1/8 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))) #s(literal 1/2 binary64))))) im))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64)))) im))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64))))) im))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) (*.f64 (sqrt.f64 #s(literal 2 binary64)) re) (fma.f64 (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (fma.f64 (*.f64 #s(literal 1/4 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (*.f64 re re) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 (*.f64 (/.f64 #s(literal 1 binary64) im) #s(literal 2 binary64)))))) im))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (fma.f64 (/.f64 re im) #s(literal -2 binary64) #s(literal 2 binary64)) im))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (+.f64 (fma.f64 (/.f64 re im) #s(literal -2 binary64) (/.f64 (*.f64 re re) (*.f64 im im))) #s(literal 2 binary64)) im))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (+.f64 (fma.f64 (/.f64 re im) #s(literal -2 binary64) (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/4 binary64) (/.f64 (*.f64 re re) (*.f64 im im)))) #s(literal 2 binary64)) im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (+.f64 (/.f64 (neg.f64 re) im) #s(literal 1 binary64)) im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (-.f64 (fma.f64 (/.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 re im)) im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (-.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/8 binary64) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 im im))) #s(literal 1 binary64)) (/.f64 re im)) im))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (fma.f64 (/.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64)) im))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/8 binary64) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 im im))) #s(literal 1 binary64)) im))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/8 binary64) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/16 binary64) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 im im)))) #s(literal 1 binary64)) im))
#s(approx (+ (* re re) (* im im)) (*.f64 (+.f64 (/.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1 binary64)) (*.f64 im im)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 im)) (sqrt.f64 #s(literal -2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal -2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) #s(literal -1/4 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) (*.f64 (sqrt.f64 #s(literal -2 binary64)) re) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal -2 binary64)) (*.f64 (*.f64 #s(literal -1/8 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 re re)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (neg.f64 im) (+.f64 (neg.f64 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 re re)) (sqrt.f64 im)) #s(literal 3/16 binary64)) (*.f64 (*.f64 im im) im))) (fma.f64 (*.f64 #s(literal 1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))) (sqrt.f64 #s(literal -2 binary64)) (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) #s(literal -1/4 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (neg.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 im))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (neg.f64 im) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) #s(literal -1/2 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (neg.f64 im) (fma.f64 (*.f64 #s(literal -1/2 binary64) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) (*.f64 (sqrt.f64 #s(literal -2 binary64)) re) (fma.f64 (*.f64 #s(literal -1/4 binary64) (sqrt.f64 (pow.f64 im #s(literal -5 binary64)))) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 re re)) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (neg.f64 (*.f64 im (+.f64 (neg.f64 (/.f64 (*.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) (*.f64 re re)) (sqrt.f64 im)) #s(literal 3/8 binary64)) (*.f64 (*.f64 im im) im))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 #s(literal -2 binary64)) re) (sqrt.f64 (/.f64 #s(literal 1 binary64) (*.f64 (*.f64 im im) im)))) #s(literal -1/2 binary64) (*.f64 (sqrt.f64 #s(literal -2 binary64)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im))))))))
#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 (neg.f64 im) (fma.f64 (/.f64 re im) #s(literal 2 binary64) #s(literal 2 binary64))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (+.f64 (neg.f64 (/.f64 (fma.f64 #s(literal -2 binary64) re (neg.f64 (/.f64 (*.f64 re re) im))) im)) #s(literal 2 binary64))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (neg.f64 im) (+.f64 (neg.f64 (/.f64 (fma.f64 #s(literal -2 binary64) re (neg.f64 (/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 im im)) #s(literal -1/4 binary64) (*.f64 re re)) im))) im)) #s(literal 2 binary64))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (neg.f64 im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (neg.f64 im) (+.f64 (/.f64 re im) #s(literal 1 binary64))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (neg.f64 im) (+.f64 (neg.f64 (/.f64 (-.f64 (*.f64 (/.f64 (*.f64 re re) im) #s(literal -1/2 binary64)) re) im)) #s(literal 1 binary64))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (neg.f64 im) (+.f64 (neg.f64 (/.f64 (-.f64 (neg.f64 (/.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 im im)) #s(literal -1/8 binary64) (*.f64 (*.f64 re re) #s(literal 1/2 binary64))) im)) re) im)) #s(literal 1 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 im) (fma.f64 (/.f64 (*.f64 re re) (*.f64 im im)) #s(literal 1/2 binary64) #s(literal 1 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 im) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/8 binary64) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 im im))) #s(literal 1 binary64))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 (neg.f64 im) (+.f64 (fma.f64 (/.f64 (*.f64 (*.f64 re re) (*.f64 re re)) (*.f64 (*.f64 im im) (*.f64 im im))) #s(literal -1/8 binary64) (fma.f64 (pow.f64 (/.f64 (*.f64 re re) (*.f64 im im)) #s(literal 3 binary64)) #s(literal 1/16 binary64) (/.f64 (*.f64 (*.f64 re re) #s(literal 1/2 binary64)) (*.f64 im im)))) #s(literal 1 binary64))))

eval38.0ms (1%)

Memory
-10.7MiB live, 46.1MiB allocated; 12ms collecting garbage
Compiler

Compiled 2 930 to 1 120 computations (61.8% saved)

prune11.0ms (0.3%)

Memory
-24.3MiB live, 19.2MiB allocated; 6ms collecting garbage
Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1638171
Fresh000
Picked101
Done000
Total1648172
Accuracy
99.9%
Counts
172 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
43.1%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
78.9%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
55.9%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im)))))
53.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))))
14.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
53.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))))
24.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
26.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 234 to 234 computations (0% saved)

series33.0ms (0.9%)

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

6 calls:

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

rewrite118.0ms (3.3%)

Memory
-45.4MiB live, 117.4MiB allocated; 58ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07184348
07484197
120464197
Stop Event
saturated
iter-limit
unsound
iter-limit
Counts
151 → 154
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re)))
(*.f64 #s(literal 2 binary64) (-.f64 (hypot.f64 re im) re))
#s(literal 2 binary64)
(-.f64 (hypot.f64 re im) re)
(hypot.f64 re im)
re
im
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))
(+.f64 im 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)
(*.f64 im im)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im))
(*.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64)))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))
(-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re)
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(fma.f64 im im (*.f64 re re))
(*.f64 re re)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (sqrt im) (sqrt 2)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* (sqrt im) (sqrt 2))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* 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)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* 2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* -2 re) (* 2 im))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (/ re im) 2)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* -1 re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* 1/2 (/ re im)) 1)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* 1/2 (/ (pow re 2) im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ 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)))))))
#s(approx re #s(hole binary64 re))
#s(approx (/ (* im im) re) #s(hole binary64 (/ (pow im 2) re)))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) #s(hole binary64 (* 1/2 (* im (sqrt (/ 1 re))))))
#s(approx (sqrt (/ 1 re)) #s(hole binary64 (sqrt (/ 1 re))))
#s(approx (/ 1 re) #s(hole binary64 (/ 1 re)))
#s(approx (+ (* im im) (* re re)) #s(hole binary64 (pow im 2)))
#s(approx (+ (* im im) (* re re)) #s(hole binary64 (+ (pow im 2) (pow re 2))))
#s(approx (* re re) #s(hole binary64 (pow re 2)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -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)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* 1/2 (/ (pow im 2) re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -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)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* 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)))))))))
#s(approx (+ (* im im) (* re re)) #s(hole binary64 (* (pow re 2) (+ 1 (/ (pow im 2) (pow re 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -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))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -4 re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole 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)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -2 re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole 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))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 re)))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole 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))))))))))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) #s(hole binary64 (* 1/2 (* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re))))))
#s(approx (sqrt (/ 1 re)) #s(hole binary64 (* (sqrt (/ 1 re)) (pow (sqrt -1) 2))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (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)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (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))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* 1/2 (/ (pow im 2) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (+ 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)))))))
#s(approx (* 1/2 (* 1 im)) #s(hole binary64 (* 1/2 im)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (* -2 (/ re im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (+ 1 (* -1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* 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)))))))))
#s(approx (+ (* im im) (* re re)) #s(hole binary64 (* (pow im 2) (+ 1 (/ (pow re 2) (pow im 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* 2 (/ re im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) #s(hole 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))))))))))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)))
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re))
#s(literal 2 binary64)
(-.f64 (sqrt.f64 (fma.f64 re re (*.f64 im im))) re)
(sqrt.f64 (fma.f64 re re (*.f64 im im)))
(hypot.f64 re im)
re
im
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))
(+.f64 im 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)
(*.f64 im im)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1 binary64) im))
(*.f64 #s(literal 1 binary64) im)
#s(literal 1 binary64)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64)))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))
(-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re)
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 im re)
(fma.f64 im im (*.f64 re re))
(+.f64 (*.f64 im im) (*.f64 re re))
(*.f64 re re)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal 1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 re (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 re (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))))) (*.f64 (sqrt.f64 im) (sqrt.f64 #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)) (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal 2 binary64) im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 2 binary64) im (*.f64 re (-.f64 (/.f64 re im) #s(literal 2 binary64)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 2 binary64) im (*.f64 re (-.f64 (*.f64 re (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) im))) #s(literal 2 binary64)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) im)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 im (*.f64 #s(literal -1 binary64) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 im (*.f64 re (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 im (*.f64 re (-.f64 (*.f64 re (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))) #s(literal 1 binary64)))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im))))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im))))))
#s(approx re re)
#s(approx (/ (* im im) re) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (/ 1 re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (/ 1 re) (/.f64 #s(literal 1 binary64) re))
#s(approx (+ (* im im) (* re re)) (pow.f64 im #s(literal 2 binary64)))
#s(approx (+ (* im im) (* re re)) (+.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))
#s(approx (* re re) (pow.f64 re #s(literal 2 binary64)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (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)))) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (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)))) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (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)))) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal -1/1024 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal -1/512 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64))) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 2 binary64)))) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 8 binary64)) (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 8 binary64)))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 2 binary64))))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 8 binary64)) (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 8 binary64)))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (+ (* im im) (* re re)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re)))) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re))))) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (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)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re)))) (pow.f64 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re))))) (pow.f64 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#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 -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -2 binary64) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) re))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (/ 1 re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 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 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (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 im (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (*.f64 #s(literal 5/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (*.f64 #s(literal 5/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))))))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -5/64 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 7 binary64))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -5/128 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 7 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re))))))
#s(approx (sqrt (+ (* re re) (* im im))) (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re))))))
#s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 re im)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 re im) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 re im) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 im (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))) (/.f64 re im))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 im (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))) (/.f64 re im))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (+ (* im im) (* re re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #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 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 re im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im))) im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 2 binary64))) (pow.f64 re #s(literal 2 binary64))) im))) im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)) re) im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64)))) im)) re) im))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* re re) (* im im))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))))

eval15.0ms (0.4%)

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

Compiled 2 728 to 907 computations (66.8% saved)

prune105.0ms (2.9%)

Memory
-28.3MiB live, 17.4MiB allocated; 6ms collecting garbage
Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1244128
Fresh033
Picked235
Done000
Total12610136
Accuracy
99.9%
Counts
136 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.9%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
43.1%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
55.9%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im)))))
53.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))))
14.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
53.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))))
24.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
52.8%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))))
26.5%
(*.f64 #s(literal 1/2 binary64) #s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
26.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 294 to 292 computations (0.7% saved)

series23.0ms (0.6%)

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

6 calls:

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

rewrite99.0ms (2.7%)

Memory
25.2MiB live, 154.3MiB allocated; 42ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07834690
08134498
122224498
Stop Event
saturated
iter-limit
unsound
iter-limit
Counts
166 → 168
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64)))
(*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))
(-.f64 (hypot.f64 im re) re)
(hypot.f64 im re)
im
re
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(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)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im))
(*.f64 #s(literal 1/2 binary64) im)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im))))
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im))
(+.f64 (neg.f64 re) im)
(neg.f64 re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))
(fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im))
(-.f64 (/.f64 re im) #s(literal 2 binary64))
(/.f64 re im)
(+.f64 im im)
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* 1/2 (* (sqrt im) (sqrt 2)))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* (sqrt im) (sqrt 2))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (+ (* 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)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* 2 im)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (+ (* -2 re) (* 2 im))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (+ (* 2 im) (* re (- (/ re im) 2)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 im))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (+ im (* -1 re))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (+ im (* re (- (* 1/2 (/ re im)) 1)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (+ im (* 1/2 (/ (pow re 2) im)))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (+ im (* (pow re 2) (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (+ 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)))))))
#s(approx re #s(hole binary64 re))
#s(approx (* -4 re) #s(hole binary64 (* -4 re)))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) #s(hole binary64 (* 1/2 (* im (sqrt (/ 1 re))))))
#s(approx (sqrt (/ 1 re)) #s(hole binary64 (sqrt (/ 1 re))))
#s(approx (/ 1 re) #s(hole binary64 (/ 1 re)))
#s(approx (neg re) #s(hole binary64 (* -1 re)))
#s(approx (- (/ re im) 2) #s(hole binary64 -2))
#s(approx (- (/ re im) 2) #s(hole binary64 (- (/ re im) 2)))
#s(approx (/ re im) #s(hole binary64 (/ re im)))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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)))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole 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))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole 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)))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole 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))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (/ (pow im 2) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (/ (+ (* -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)))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* 1/2 (/ (pow im 2) re))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (/ (+ (* -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)))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2)))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* 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)))))))))
#s(approx (+ (neg re) im) #s(hole binary64 (* re (- (/ im re) 1))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (/ (pow re 2) im)))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (* (pow re 2) (- (/ 1 im) (* 2 (/ 1 re))))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (* (pow re 2) (- (+ (* 2 (/ im (pow re 2))) (/ 1 im)) (* 2 (/ 1 re))))))
#s(approx (- (/ re im) 2) #s(hole binary64 (* re (- (/ 1 im) (* 2 (/ 1 re))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* -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))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole 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))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole 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)))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* -2 re)))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole 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))))))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* -1 (* re (+ 1 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* -1 (* re (+ 1 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole 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))))))))))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) #s(hole binary64 (* 1/2 (* (* im (pow (sqrt -1) 2)) (sqrt (/ 1 re))))))
#s(approx (sqrt (/ 1 re)) #s(hole binary64 (* (sqrt (/ 1 re)) (pow (sqrt -1) 2))))
#s(approx (+ (neg re) im) #s(hole binary64 (* -1 (* re (+ 1 (* -1 (/ im re)))))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (* (pow re 2) (+ (* -1 (/ (+ 2 (* -2 (/ im re))) re)) (/ 1 im)))))
#s(approx (- (/ re im) 2) #s(hole binary64 (* -1 (* re (- (* 2 (/ 1 re)) (/ 1 im))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* 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)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* 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))))))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* 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))))))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* (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)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* (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))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (+ re (* 1/2 (/ (pow im 2) re)))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (+ re (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re)))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (+ 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)))))))
#s(approx (* 1/2 (* 1 im)) #s(hole binary64 (* 1/2 im)))
#s(approx (+ (neg re) im) #s(hole binary64 (- im re)))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (/ (+ (* -2 (* im re)) (pow re 2)) im)))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (/ (+ (* im (+ (* -2 re) (* 2 im))) (pow re 2)) im)))
#s(approx (- (/ re im) 2) #s(hole binary64 (/ (+ re (* -2 im)) im)))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* 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))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* 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)))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* 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))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* im (+ 2 (* -2 (/ re im))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* im (+ 1 (* -1 (/ re im))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* 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)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole binary64 (* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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))))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) #s(hole 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))))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole binary64 (* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole 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)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) #s(hole 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)))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* -2 im)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* -1 (* im (+ 2 (* 2 (/ re im)))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* -1 im)))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* -1 (* im (+ 1 (/ re im))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* -1 (* im (+ 1 (* 1/2 (/ (pow re 2) (pow im 2))))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole binary64 (* -1 (* im (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2)))))))))
#s(approx (sqrt (+ (* im im) (* re re))) #s(hole 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))))))))))
#s(approx (+ (neg re) im) #s(hole binary64 (* -1 (* im (- (/ re im) 1)))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (* -1 (* im (- (* 2 (/ re im)) 2)))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) #s(hole binary64 (* -1 (* im (- (* -1 (/ (+ (* -2 re) (/ (pow re 2) im)) im)) 2)))))
Outputs
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
(sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64)))
(*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))
(-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re)
(sqrt.f64 (fma.f64 im im (*.f64 re re)))
(hypot.f64 im re)
im
re
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
(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)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 #s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im))
(*.f64 #s(literal 1/2 binary64) im)
(sqrt.f64 (/.f64 #s(literal 1 binary64) re))
(/.f64 #s(literal 1 binary64) re)
#s(literal 1 binary64)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im)))))
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im))))
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 (neg.f64 re) im))
(+.f64 (neg.f64 re) im)
(neg.f64 re)
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))))
(sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))
(fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im))
(+.f64 (*.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re) (+.f64 im im))
(-.f64 (/.f64 re im) #s(literal 2 binary64))
(/.f64 re im)
(+.f64 im im)
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal 1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 re (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 re (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal 2 binary64) im))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal 2 binary64) im)))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 #s(literal 2 binary64) im (*.f64 re (-.f64 (/.f64 re im) #s(literal 2 binary64)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (fma.f64 #s(literal 2 binary64) im (*.f64 re (-.f64 (*.f64 re (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) im))) #s(literal 2 binary64)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) im)
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (+.f64 im (*.f64 #s(literal -1 binary64) re)))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (+.f64 im (*.f64 re (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (+.f64 im (*.f64 re (-.f64 (*.f64 re (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))) #s(literal 1 binary64)))))
#s(approx (sqrt (+ (* im im) (* re re))) (+.f64 im (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im))))
#s(approx (sqrt (+ (* im im) (* re re))) (+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im))))))
#s(approx (sqrt (+ (* im im) (* re re))) (+.f64 im (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im))))))
#s(approx re re)
#s(approx (* -4 re) (*.f64 #s(literal -4 binary64) re))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) (*.f64 #s(literal 1/2 binary64) (*.f64 im (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (/ 1 re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (/ 1 re) (/.f64 #s(literal 1 binary64) re))
#s(approx (neg re) (*.f64 #s(literal -1 binary64) re))
#s(approx (- (/ re im) 2) #s(literal -2 binary64))
#s(approx (- (/ re im) 2) (-.f64 (/.f64 re im) #s(literal 2 binary64)))
#s(approx (/ re im) (/.f64 re im))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal -1/1024 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal -1/512 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64))) re))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 2 binary64)))) re))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 8 binary64)) (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 8 binary64)))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 2 binary64))))) re))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) re))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) re))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 8 binary64)) (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 8 binary64)))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) re))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (+ (neg re) im) (*.f64 re (-.f64 (/.f64 im re) #s(literal 1 binary64))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (/.f64 (pow.f64 re #s(literal 2 binary64)) im))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (-.f64 (fma.f64 #s(literal 2 binary64) (/.f64 im (pow.f64 re #s(literal 2 binary64))) (/.f64 #s(literal 1 binary64) im)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (- (/ re im) 2) (*.f64 re (-.f64 (/.f64 #s(literal 1 binary64) im) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re)))) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re))))) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (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)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re)))) (pow.f64 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re))))) (pow.f64 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -2 binary64) re))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))))
#s(approx (* (* 1/2 (* 1 im)) (sqrt (/ 1 re))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (/ 1 re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))
#s(approx (+ (neg re) im) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 im re))))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1 binary64) (/.f64 (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 im re))) re) (/.f64 #s(literal 1 binary64) im))))
#s(approx (- (/ re im) 2) (*.f64 #s(literal -1 binary64) (*.f64 re (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) re)) (/.f64 #s(literal 1 binary64) im)))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 im (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 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 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 im (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 im (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (*.f64 #s(literal 5/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))))))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 im (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 im (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 im (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (*.f64 #s(literal 5/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))))))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -5/64 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 7 binary64))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -5/128 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 7 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (+ (* im im) (* re re))) (+.f64 re (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))))
#s(approx (sqrt (+ (* im im) (* re re))) (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re))))))
#s(approx (sqrt (+ (* im im) (* re re))) (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re))))))
#s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im))
#s(approx (+ (neg re) im) (-.f64 im re))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (/.f64 (fma.f64 #s(literal -2 binary64) (*.f64 im re) (pow.f64 re #s(literal 2 binary64))) im))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (/.f64 (fma.f64 im (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal 2 binary64) im)) (pow.f64 re #s(literal 2 binary64))) im))
#s(approx (- (/ re im) 2) (/.f64 (+.f64 re (*.f64 #s(literal -2 binary64) im)) im))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 re im)))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 re im) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 im (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 re im) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 re im)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 im (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))) (/.f64 re im))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 im (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))) (/.f64 re im))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (* (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) 1/2) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal -2 binary64) im))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 re im))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im))) im))))))
#s(approx (* (- (sqrt (+ (* im im) (* re re))) re) 2) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 2 binary64))) (pow.f64 re #s(literal 2 binary64))) im))) im))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1 binary64) im))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im)))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)) re) im))))))
#s(approx (- (sqrt (+ (* im im) (* re re))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64)))) im)) re) im))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))))
#s(approx (sqrt (+ (* im im) (* re re))) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 re #s(literal 6 binary64)) (pow.f64 im #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))))
#s(approx (+ (neg re) im) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (/.f64 re im) #s(literal 1 binary64)))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 re im)) #s(literal 2 binary64)))))
#s(approx (+ (* (- (/ re im) 2) re) (+ im im)) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (/.f64 (pow.f64 re #s(literal 2 binary64)) im)) im)) #s(literal 2 binary64)))))

eval18.0ms (0.5%)

Memory
-10.5MiB live, 35.2MiB allocated; 5ms collecting garbage
Compiler

Compiled 2 865 to 1 004 computations (65% saved)

prune5.0ms (0.1%)

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

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New1333136
Fresh202
Picked145
Done033
Total13610146
Accuracy
99.9%
Counts
146 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.9%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
43.1%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
52.8%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))) #s(literal 1/2 binary64))
26.5%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) #s(literal 1/2 binary64))
55.9%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re))))))
53.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))))
14.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
53.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))))
24.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
26.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 169 to 168 computations (0.6% saved)

series40.0ms (1.1%)

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

6 calls:

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

rewrite68.0ms (1.9%)

Memory
-13.5MiB live, 80.3MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07074655
07374062
120274062
Stop Event
saturated
iter-limit
unsound
iter-limit
Counts
143 → 144
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) #s(approx (+ (neg re) im) (-.f64 im re))))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re))))
#s(literal 2 binary64)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re)))
#s(approx (+ (neg re) im) (-.f64 im re))
(-.f64 im re)
im
re
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(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 binary64) re)
#s(literal 1 binary64)
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
#s(literal -1/2 binary64)
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
(*.f64 re (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 im)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (sqrt im) (sqrt 2)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* -1/4 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* 1/2 (* (sqrt im) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (+ (* 1/2 (* (sqrt im) (sqrt 2))) (* re (+ (* -1/4 (* (sqrt (/ 1 im)) (sqrt 2))) (* re (+ (* 1/32 (* (sqrt (/ 1 (pow im 5))) (* re (sqrt 2)))) (* 1/16 (* (sqrt (/ 1 (pow im 3))) (sqrt 2))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* (sqrt im) (sqrt 2))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* 1/8 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))))) (* (sqrt im) (sqrt 2)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (+ (* 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)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* 2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* -2 re) (* 2 im))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (/ re im) 2)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (+ (* 2 im) (* re (- (* re (+ (* -1/4 (/ (pow re 2) (pow im 3))) (/ 1 im))) 2)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* -1 re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* 1/2 (/ re im)) 1)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (+ im (* re (- (* re (+ (* -1/8 (/ (pow re 2) (pow im 3))) (* 1/2 (/ 1 im)))) 1)))))
#s(approx re #s(hole binary64 re))
#s(approx (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))) #s(hole binary64 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re)))))
#s(approx (sqrt (/ 1 re)) #s(hole binary64 (sqrt (/ 1 re))))
#s(approx (/ 1 re) #s(hole binary64 (/ 1 re)))
#s(approx (* (sqrt (/ 1 im)) (* re (sqrt 2))) #s(hole binary64 (* (sqrt (/ 1 im)) (* re (sqrt 2)))))
#s(approx (* re (sqrt 2)) #s(hole binary64 (* re (sqrt 2))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 1/2 (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (pow im 2) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (pow im 2)) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -1/4 (/ (pow im 4) (pow re 2))) (+ (* 1/8 (/ (pow im 6) (pow re 4))) (pow im 2))) re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (/ (+ (* -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)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* 1/2 (/ (pow im 2) re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (* 1/2 (pow im 2))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -1/8 (/ (pow im 4) (pow re 2))) (+ (* 1/16 (/ (pow im 6) (pow re 4))) (* 1/2 (pow im 2)))) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (/ (+ (* -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)))
#s(approx (+ (neg re) im) #s(hole binary64 (* -1 re)))
#s(approx (+ (neg re) im) #s(hole binary64 (* re (- (/ im re) 1))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) #s(hole binary64 (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2))))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) #s(hole binary64 (* re (+ (* -1/2 (* (sqrt (/ 1 im)) (sqrt 2))) (* (sqrt im) (/ (sqrt 2) re))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt re) (* (sqrt -1) (pow (sqrt 2) 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* re (+ (* -1/4 (* (* (pow im 2) (sqrt -1)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt -1) (pow (sqrt 2) 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -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))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -4 re)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (/ (pow im 2) (pow re 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* re (+ 4 (+ (* -1/4 (/ (pow im 4) (pow re 4))) (/ (pow im 2) (pow re 2))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole 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)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -2 re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (* 1/2 (/ (pow im 2) (pow re 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* re (+ 2 (+ (* -1/8 (/ (pow im 4) (pow re 4))) (* 1/2 (/ (pow im 2) (pow re 2)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole 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))))))))))
#s(approx (+ (neg re) im) #s(hole binary64 (* -1 (* re (+ 1 (* -1 (/ im re)))))))
#s(approx (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))) #s(hole binary64 (* (* im (* (pow (sqrt -1) 2) (* (sqrt 1/2) (sqrt 2)))) (sqrt (/ 1 re)))))
#s(approx (sqrt (/ 1 re)) #s(hole binary64 (* (sqrt (/ 1 re)) (pow (sqrt -1) 2))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) #s(hole binary64 (* -1 (* re (+ (* -1 (* (sqrt im) (/ (sqrt 2) re))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/16 (* (/ (* (pow im 2) (sqrt 2)) (sqrt 1/2)) (sqrt (/ 1 (pow re 5))))) (* (sqrt (/ 1 re)) (* (sqrt 1/2) (sqrt 2)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* -1/4 (/ (pow im 2) (pow re 3))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/8 (/ (pow im 2) (pow re 5))) (* 1/4 (/ 1 (pow re 3))))) (/ 1 re)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* (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)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* -1/8 (/ (pow im 2) (pow re 3))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (pow im 2) (+ (* (pow im 2) (- (* 1/16 (/ (pow im 2) (pow re 5))) (* 1/8 (/ 1 (pow re 3))))) (* 1/2 (/ 1 re))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* (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))))))
#s(approx (+ (neg re) im) #s(hole binary64 (- im re)))
#s(approx (* im (* (sqrt 1/2) (sqrt 2))) #s(hole binary64 (* im (* (sqrt 1/2) (sqrt 2)))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) #s(hole binary64 (/ (+ (* -1/2 (* (sqrt im) (* re (sqrt 2)))) (* (sqrt (pow im 3)) (sqrt 2))) im)))
#s(approx (sqrt (/ 1 im)) #s(hole binary64 (sqrt (/ 1 im))))
#s(approx (/ 1 im) #s(hole binary64 (/ 1 im)))
#s(approx (sqrt im) #s(hole binary64 (sqrt im)))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* 1/2 (* (sqrt (/ 1 im)) (sqrt 2)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (sqrt 2)))) (* (sqrt (/ 1 im)) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* 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))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (* -2 (/ re im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (/ (pow re 2) (pow im 2)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* im (+ 2 (+ (* -2 (/ re im)) (+ (* -1/4 (/ (pow re 4) (pow im 4))) (/ (pow re 2) (pow im 2))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (+ 1 (* -1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (* 1/2 (/ (pow re 2) (pow im 2)))) (/ re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* im (- (+ 1 (+ (* -1/8 (/ (pow re 4) (pow im 4))) (* 1/2 (/ (pow re 2) (pow im 2))))) (/ re im)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1/2 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole binary64 (* -1 (* im (+ (* -1/4 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* 1/2 (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) #s(hole 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))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* (sqrt im) (* (sqrt -1) (sqrt 2))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole binary64 (* -1 (* im (+ (* -1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (sqrt -1) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (sqrt -1) (sqrt 2))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) #s(hole 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)))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -2 im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* 2 (/ re im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (pow re 2) im))) im)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) #s(hole binary64 (* -1 (* im (+ 2 (* -1 (/ (+ (* -2 re) (* -1 (/ (+ (* -1/4 (/ (pow re 4) (pow im 2))) (pow re 2)) im))) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 im)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (/ re im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1/2 (/ (pow re 2) im)) re) im)))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(hole binary64 (* -1 (* im (+ 1 (* -1 (/ (- (* -1 (/ (+ (* -1/8 (/ (pow re 4) (pow im 2))) (* 1/2 (pow re 2))) im)) re) im)))))))
#s(approx (+ (neg re) im) #s(hole binary64 (* -1 (* im (- (/ re im) 1)))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) #s(hole binary64 (* -1 (* (sqrt im) (* (pow (sqrt -1) 2) (sqrt 2))))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) #s(hole binary64 (* -1 (* im (+ (* 1/2 (* (sqrt (/ 1 (pow im 3))) (* re (* (pow (sqrt -1) 2) (sqrt 2))))) (* (sqrt (/ 1 im)) (* (pow (sqrt -1) 2) (sqrt 2))))))))
#s(approx (* (sqrt (/ 1 im)) (* re (sqrt 2))) #s(hole binary64 (* (sqrt (/ 1 im)) (* re (* (pow (sqrt -1) 2) (sqrt 2))))))
#s(approx (sqrt (/ 1 im)) #s(hole binary64 (* (sqrt (/ 1 im)) (pow (sqrt -1) 2))))
#s(approx (sqrt im) #s(hole binary64 (* -1 (* (sqrt im) (pow (sqrt -1) 2)))))
Outputs
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re))))))
#s(literal 1/2 binary64)
(sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re))))
#s(literal 2 binary64)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re)))
#s(approx (+ (neg re) im) (-.f64 im re))
(-.f64 im re)
im
re
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
(*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
(*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))
(*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))
(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 binary64) re)
#s(literal 1 binary64)
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))) #s(literal 1/2 binary64))
#s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
(+.f64 (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
#s(literal -1/2 binary64)
(*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64))))
(sqrt.f64 (/.f64 #s(literal 1 binary64) im))
(/.f64 #s(literal 1 binary64) im)
(*.f64 re (sqrt.f64 #s(literal 2 binary64)))
(*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))
(sqrt.f64 im)
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal 1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 re (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 re (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 re (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (sqrt.f64 #s(literal 2 binary64))))))) (*.f64 (sqrt.f64 im) (sqrt.f64 #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)) (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal 2 binary64) im)))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 2 binary64) im (*.f64 re (-.f64 (/.f64 re im) #s(literal 2 binary64)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 #s(literal 2 binary64) im (*.f64 re (-.f64 (*.f64 re (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) im))) #s(literal 2 binary64)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) im)
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 im (*.f64 #s(literal -1 binary64) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 im (*.f64 re (-.f64 (*.f64 #s(literal 1/2 binary64) (/.f64 re im)) #s(literal 1 binary64)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (+.f64 im (*.f64 re (-.f64 (*.f64 re (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) im)))) #s(literal 1 binary64)))))
#s(approx re re)
#s(approx (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (sqrt (/ 1 re)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))
#s(approx (/ 1 re) (/.f64 #s(literal 1 binary64) re))
#s(approx (* (sqrt (/ 1 im)) (* re (sqrt 2))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (* re (sqrt 2)) (*.f64 re (sqrt.f64 #s(literal 2 binary64))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (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)))) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (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)))) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (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)))) (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal -1/1024 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 3 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (fma.f64 #s(literal -1/512 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 3 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 5 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 9 binary64))))) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (pow.f64 im #s(literal 2 binary64)) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64))) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 2 binary64)))) re))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 8 binary64)) (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 8 binary64)))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (pow.f64 im #s(literal 2 binary64))))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) re)))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (/.f64 (fma.f64 #s(literal -1/2 binary64) (/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 im #s(literal 8 binary64)) (*.f64 #s(literal 1/16 binary64) (pow.f64 im #s(literal 8 binary64)))) (pow.f64 re #s(literal 6 binary64))) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 2 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) re))
#s(approx (+ (neg re) im) (*.f64 #s(literal -1 binary64) re))
#s(approx (+ (neg re) im) (*.f64 re (-.f64 (/.f64 im re) #s(literal 1 binary64))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) (*.f64 re (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 #s(literal 2 binary64)) re)))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re)))) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/32 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (fma.f64 #s(literal 1/64 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re))))) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (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)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re)))) (pow.f64 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/16 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (fma.f64 #s(literal 1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 4 binary64)) (sqrt.f64 #s(literal -1 binary64))) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal -1 binary64))) (sqrt.f64 re))))) (pow.f64 re #s(literal 3 binary64))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (pow.f64 (sqrt.f64 #s(literal 2 binary64)) #s(literal 2 binary64))))))))
#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 -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 4 binary64) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -2 binary64) re))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 4 binary64)) (pow.f64 re #s(literal 4 binary64))) (fma.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 6 binary64)) (pow.f64 re #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))))))
#s(approx (+ (neg re) im) (*.f64 #s(literal -1 binary64) (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 im re))))))
#s(approx (* (* im (* (sqrt 1/2) (sqrt 2))) (sqrt (/ 1 re))) (*.f64 (*.f64 im (*.f64 (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
#s(approx (sqrt (/ 1 re)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) (*.f64 #s(literal -1 binary64) (*.f64 re (fma.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/32 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 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 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (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 im (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 #s(literal 1/4 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/32 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (*.f64 #s(literal 5/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/16 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) re)) (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (/.f64 (sqrt.f64 #s(literal 2 binary64)) (sqrt.f64 #s(literal 1/2 binary64)))) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (/.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal 2 binary64)) (fma.f64 #s(literal -1/16 binary64) (/.f64 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64)))) (*.f64 #s(literal 5/128 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 7 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))) (sqrt.f64 re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 re) (/.f64 (*.f64 (sqrt.f64 #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/256 binary64) (/.f64 #s(literal 1 binary64) (*.f64 (pow.f64 re #s(literal 5 binary64)) (pow.f64 (sqrt.f64 #s(literal 1/2 binary64)) #s(literal 2 binary64))))))) (sqrt.f64 #s(literal 1/2 binary64))))))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -5/64 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 7 binary64))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 #s(literal 1/4 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (/.f64 #s(literal 1 binary64) re))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 3 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal -5/128 binary64) (/.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 7 binary64))) (*.f64 #s(literal 1/16 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 5 binary64)))))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) (pow.f64 re #s(literal 3 binary64))))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) re)))))
#s(approx (+ (neg re) im) (-.f64 im re))
#s(approx (* im (* (sqrt 1/2) (sqrt 2))) (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) (/.f64 (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (pow.f64 im #s(literal 3 binary64))) (sqrt.f64 #s(literal 2 binary64)))) im))
#s(approx (sqrt (/ 1 im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) im)))
#s(approx (/ 1 im) (/.f64 #s(literal 1 binary64) im))
#s(approx (sqrt im) (sqrt.f64 im))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal -1/16 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64)))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (fma.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) (/.f64 re im)))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 re im) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 im (+.f64 #s(literal 2 binary64) (fma.f64 #s(literal -2 binary64) (/.f64 re im) (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 im (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64))))) (/.f64 re im))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 im (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 4 binary64))) (*.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 im #s(literal 2 binary64)))))) (/.f64 re im))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (fma.f64 #s(literal -1/8 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/16 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (fma.f64 #s(literal -1/4 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 5 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64)))))))))
#s(approx (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal 1/8 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 #s(literal 1/4 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))))) (pow.f64 im #s(literal 3 binary64))) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (sqrt.f64 #s(literal -1 binary64)) (sqrt.f64 #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 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (/.f64 re im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im))) im))))))
#s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -2 binary64) re (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 2 binary64))) (pow.f64 re #s(literal 2 binary64))) im))) im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) im))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (/.f64 re im)))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 re #s(literal 2 binary64)) im)) re) im))))))
#s(approx (- (sqrt (+ (* re re) (* im im))) re) (*.f64 #s(literal -1 binary64) (*.f64 im (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1/8 binary64) (/.f64 (pow.f64 re #s(literal 4 binary64)) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 re #s(literal 2 binary64)))) im)) re) im))))))
#s(approx (+ (neg re) im) (*.f64 #s(literal -1 binary64) (*.f64 im (-.f64 (/.f64 re im) #s(literal 1 binary64)))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 im) (*.f64 (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (+ (* -1/2 (* (sqrt (/ 1 im)) (* re (sqrt 2)))) (* (sqrt im) (sqrt 2))) (*.f64 #s(literal -1 binary64) (*.f64 im (fma.f64 #s(literal 1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) (pow.f64 im #s(literal 3 binary64)))) (*.f64 re (*.f64 (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))))
#s(approx (* (sqrt (/ 1 im)) (* re (sqrt 2))) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (*.f64 (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)) (sqrt.f64 #s(literal 2 binary64))))))
#s(approx (sqrt (/ 1 im)) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64))))
#s(approx (sqrt im) (*.f64 #s(literal -1 binary64) (*.f64 (sqrt.f64 im) (pow.f64 (sqrt.f64 #s(literal -1 binary64)) #s(literal 2 binary64)))))

eval13.0ms (0.4%)

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

Compiled 2 564 to 850 computations (66.8% saved)

prune8.0ms (0.2%)

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

10 alts after pruning (0 fresh and 10 done)

PrunedKeptTotal
New1140114
Fresh000
Picked033
Done077
Total11410124
Accuracy
99.9%
Counts
124 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
78.9%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 im re) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
43.1%
(*.f64 (sqrt.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 im im (*.f64 re re))) re) #s(literal 2 binary64))) #s(literal 1/2 binary64))
52.8%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (fma.f64 #s(literal -1/2 binary64) (*.f64 (sqrt.f64 (/.f64 #s(literal 1 binary64) im)) (*.f64 re (sqrt.f64 #s(literal 2 binary64)))) (*.f64 (sqrt.f64 im) (sqrt.f64 #s(literal 2 binary64))))) #s(literal 1/2 binary64))
26.5%
(*.f64 #s(approx (sqrt (* (- (sqrt (+ (* im im) (* re re))) re) 2)) (*.f64 (*.f64 im (*.f64 (sqrt.f64 #s(literal 1/2 binary64)) (sqrt.f64 #s(literal 2 binary64)))) (sqrt.f64 (/.f64 #s(literal 1 binary64) re)))) #s(literal 1/2 binary64))
55.9%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (sqrt (+ (* re re) (* im im))) re) #s(approx (+ (neg re) im) (-.f64 im re))))))
53.6%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (fma.f64 (-.f64 (/.f64 re im) #s(literal 2 binary64)) re (+.f64 im im)))))
14.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (/.f64 (*.f64 im im) re))))
53.8%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (+.f64 im im))))
24.5%
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 #s(approx (* 2 (- (sqrt (+ (* re re) (* im im))) re)) (*.f64 #s(literal -4 binary64) re))))
26.8%
#s(approx (* 1/2 (sqrt (* 2 (- (sqrt (+ (* re re) (* im im))) re)))) (*.f64 #s(approx (* 1/2 (* 1 im)) (*.f64 #s(literal 1/2 binary64) im)) (sqrt.f64 (/.f64 #s(literal 1 binary64) re))))
Compiler

Compiled 356 to 279 computations (21.6% saved)

regimes67.0ms (1.9%)

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

7 calls:

5.0ms
im
4.0ms
re
4.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))))
4.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
4.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
AccuracySegmentsBranch
78.9%1(*.f64 im im)
90.5%2(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
90.5%2(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
90.8%2(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
90.8%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))))
90.9%2re
78.9%1im
Compiler

Compiled 42 to 45 computations (-7.1% saved)

regimes56.0ms (1.6%)

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

7 calls:

35.0ms
(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
4.0ms
im
4.0ms
re
3.0ms
(*.f64 #s(literal 1/2 binary64) (sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
3.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
AccuracySegmentsBranch
67.5%3(*.f64 im im)
69.8%4im
81.0%4(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
81.0%4(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
80.7%4(sqrt.f64 (*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
80.7%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))))
84.0%5re
Compiler

Compiled 42 to 45 computations (-7.1% saved)

regimes8.0ms (0.2%)

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

3 calls:

3.0ms
re
2.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
2.0ms
(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
Results
AccuracySegmentsBranch
69.4%2(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
69.4%2(*.f64 #s(literal 2 binary64) (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
79.3%3re
Compiler

Compiled 17 to 18 computations (-5.9% saved)

regimes16.0ms (0.4%)

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

7 calls:

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

Compiled 42 to 45 computations (-7.1% saved)

regimes1.0ms (0%)

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

1 calls:

1.0ms
re
Results
AccuracySegmentsBranch
66.7%4re
Compiler

Compiled 1 to 2 computations (-100% saved)

regimes7.0ms (0.2%)

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

7 calls:

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

Compiled 42 to 45 computations (-7.1% saved)

bsearch18.0ms (0.5%)

Memory
16.6MiB live, 16.6MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
1.991135297199896e-17
3.421621663338337e-16
Samples
5.0ms27×2valid
4.0ms65×0valid
2.0ms15×1valid
1.0ms3valid
Compiler

Compiled 242 to 252 computations (-4.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 8.0ms
ival-hypot: 4.0ms (47.6% of total)
ival-mult!: 2.0ms (23.8% of total)
ival-sqrt: 1.0ms (11.9% of total)
adjust: 1.0ms (11.9% of total)
ival-sub!: 1.0ms (11.9% of total)

bsearch48.0ms (1.3%)

Memory
1.4MiB live, 47.7MiB allocated; 4ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.991135297199896e-17
3.421621663338337e-16
14.0ms
-1.9995168090479257e-149
-1.4900567894437873e-155
12.0ms
-1.7112814520468627e+29
-7.518909275532601e+25
17.0ms
-3.4216631273159886e+88
-6.240219082911076e+77
Samples
24.0ms432×0valid
Compiler

Compiled 1 110 to 1 174 computations (-5.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-hypot: 7.0ms (46.3% of total)
ival-sqrt: 3.0ms (19.9% of total)
ival-mult!: 3.0ms (19.9% of total)
ival-sub!: 1.0ms (6.6% of total)
adjust: 0.0ms (0% of total)

bsearch3.0ms (0.1%)

Memory
3.2MiB live, 3.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
1.991135297199896e-17
3.421621663338337e-16
1.0ms
-3.4216631273159886e+88
-6.240219082911076e+77
Compiler

Compiled 618 to 648 computations (-4.9% saved)

bsearch61.0ms (1.7%)

Memory
-2.8MiB live, 41.9MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
-1.9995168090479257e-149
-1.4900567894437873e-155
46.0ms
-6.810229398874346e-30
-3.629477879503071e-38
1.0ms
-3.4216631273159886e+88
-6.240219082911076e+77
Samples
16.0ms272×0valid
Compiler

Compiled 887 to 939 computations (-5.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-hypot: 5.0ms (51.5% of total)
ival-sqrt: 2.0ms (20.6% of total)
ival-mult!: 2.0ms (20.6% of total)
ival-sub!: 1.0ms (10.3% of total)
adjust: 0.0ms (0% of total)

bsearch5.0ms (0.1%)

Memory
8.2MiB live, 8.2MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
1.0ms
-1.9995168090479257e-149
-1.4900567894437873e-155
1.0ms
-6.810229398874346e-30
-3.629477879503071e-38
3.0ms
-3.4216631273159886e+88
-6.240219082911076e+77
Samples
1.0ms16×0valid
Compiler

Compiled 830 to 882 computations (-6.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-sub!: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-hypot: 0.0ms (0% of total)
ival-sqrt: 0.0ms (0% of total)
ival-mult!: 0.0ms (0% of total)

derivations197.0ms (5.5%)

Memory
-11.8MiB live, 40.3MiB allocated; 66ms collecting garbage
Stop Event
done
Compiler

Compiled 122 to 85 computations (30.3% saved)

preprocess112.0ms (3.1%)

Memory
-8.4MiB live, 82.6MiB allocated; 19ms collecting garbage
Remove

(abs im)

Compiler

Compiled 658 to 531 computations (19.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...