Details

Time bar (total: 3.9s)

analyze605.0ms (15.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%50%50%0
0%50%50%1
0%50%50%2
0%50%50%3
6.2%43.7%50%4
12.5%37.5%50%5
18.7%31.2%50%6
23.4%26.5%50%7
27.3%22.6%50%8
30%19.9%50%9
32.2%17.8%50%10
33.7%16.3%50%11
34.8%15.2%50%12
35.5%14.4%50%13
36.1%13.8%50%14
Compiler

Compiled 20 to 14 computations (30% saved)

sample1.9s (47.5%)

Results
811.0ms6245×body128valid
337.0ms641×body2048valid
337.0ms553×body4096valid
189.0ms470×body1024valid
76.0ms116×body256valid
73.0ms231×body512valid
Compiler

Compiled 40 to 28 computations (30% saved)

preprocess33.0ms (0.8%)

Algorithm
egg-herbie
Rules
316×fma-def_binary64
164×fma-neg_binary64
86×distribute-rgt-in_binary64
48×distribute-lft-in_binary64
48×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01930
13330
25130
38830
413530
518530
630530
747830
868230
983330
10108330
11124330
12126130
13126530
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) im))))
Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify26.0ms (0.7%)

Algorithm
egg-herbie
Rules
201×fma-def_binary64
142×fma-neg_binary64
51×distribute-rgt-in_binary64
43×cancel-sign-sub-inv_binary64
27×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35315
48015
510915
618015
728615
841015
949315
1061015
1168215
1270515
1374415
1479315
1585615
1689215
1790115
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
13.1b
Counts
3 → 1
Alt Table
StatusErrorProgram
13.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
Compiler

Compiled 51 to 37 computations (27.5% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.2b
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
1.0b
(-.f64 (hypot.f64 re im) re)

series19.0ms (0.5%)

Counts
3 → 56
Calls

18 calls:

TimeVariablePointExpression
3.0ms
im
@0
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
2.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
2.0ms
re
@inf
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
2.0ms
im
@inf
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
1.0ms
re
@inf
(-.f64 (hypot.f64 re im) re)

rewrite55.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
811×log1p-expm1-u_binary64
811×expm1-log1p-u_binary64
89×add-sqr-sqrt_binary64
85×pow1_binary64
84×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0823
117323
2220623
Stop Event
node limit
Counts
3 → 81
Calls
Call 1
Inputs
(-.f64 (hypot.f64 re im) re)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(hypot.f64 re im)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (hypot.f64 re im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (hypot.f64 re im) (*.f64 (neg.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 re) 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 re) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (hypot.f64 re im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (hypot.f64 re im) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (/.f64 1 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im)))) (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 re (hypot.f64 re im)) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 (neg.f64 re) 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 (hypot.f64 re im) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 (neg.f64 re) (neg.f64 re))) (-.f64 (hypot.f64 re im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (hypot.f64 re im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (hypot.f64 re im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (hypot.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 re im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 re im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 re im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 re im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 re im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 re im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 re im)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 re im)))))))

simplify43.0ms (1.1%)

Algorithm
egg-herbie
Rules
607×fma-def_binary64
365×associate-/l*_binary64
347×times-frac_binary64
280×cancel-sign-sub-inv_binary64
254×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01581505
14911464
216801399
Stop Event
node limit
Counts
137 → 153
Calls
Call 1
Inputs
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 -2 re)
(neg.f64 (+.f64 (*.f64 2 re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 2 re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(*.f64 -1 im)
(neg.f64 (+.f64 re im))
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 5/256 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
re
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(-.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(*.f64 -1 re)
(neg.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
re
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(-.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(*.f64 -1 im)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
Outputs
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) re)
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) re)
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (-.f64 im re))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 1/2 (/.f64 (*.f64 im im) re))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 1/2 (/.f64 (*.f64 im im) re))) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/2 (/.f64 im (/.f64 re im)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))) (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 5/128 (/.f64 (pow.f64 re 7) (pow.f64 im 8)))))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (*.f64 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) -5/128))))
(*.f64 -2 re)
(*.f64 re -2)
(neg.f64 (+.f64 (*.f64 2 re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(neg.f64 (fma.f64 2 re (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(-.f64 (*.f64 re -2) (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 re -2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 2 re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (fma.f64 2 re (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(-.f64 (/.f64 (*.f64 1/8 (pow.f64 im 4)) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2)))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 re -2 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 2 re (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(-.f64 (/.f64 (*.f64 1/8 (pow.f64 im 4)) (pow.f64 re 3)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (+.f64 (fma.f64 re -2 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) (/.f64 -1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 1/2 (/.f64 (*.f64 im im) re))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 1/2 (/.f64 (*.f64 im im) re))) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/2 (/.f64 im (/.f64 re im)) (/.f64 1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))) (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 5/128 (/.f64 (pow.f64 re 7) (pow.f64 im 8)))))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (*.f64 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) -5/128))))
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) re)
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) re)
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (-.f64 im re))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(*.f64 -1 im)
(neg.f64 im)
(neg.f64 (+.f64 re im))
(neg.f64 (+.f64 im re))
(-.f64 (neg.f64 re) im)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(neg.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re)))
(-.f64 (*.f64 (/.f64 re (/.f64 im re)) -1/2) (+.f64 im re))
(-.f64 (/.f64 (*.f64 (*.f64 re re) -1/2) im) (+.f64 im re))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re)))
(-.f64 (/.f64 1/8 (/.f64 (pow.f64 im 3) (pow.f64 re 4))) (+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re)))
(-.f64 (*.f64 (/.f64 1/8 (pow.f64 im 3)) (pow.f64 re 4)) (+.f64 im (fma.f64 1/2 (*.f64 (/.f64 re im) re) re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (-.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) -1/2 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))) (*.f64 -1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (*.f64 1/16 (sqrt.f64 2)) (pow.f64 re 3))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8))) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) 1/16) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 2)))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) -1/16))
(fma.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) -1/16)))
(-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)) (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (fma.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 1/512 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 (pow.f64 im 5) 1/2))))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (-.f64 (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5))) (*.f64 1/256 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5)))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) -1/16)))
(-.f64 (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 5/256 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
(-.f64 (fma.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))) (fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)) (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3))) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/8192 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 7)))) (*.f64 5/256 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)))))))))
(-.f64 (fma.f64 1/512 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 (pow.f64 im 7) 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))) (fma.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))))) (fma.f64 1/512 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) 1/2)) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 1/2) 5)) (pow.f64 im 7))) (*.f64 5/256 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)))))))))
(-.f64 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (*.f64 1/256 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 7))) (fma.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (-.f64 (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5))) (*.f64 1/256 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5))))))) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (fma.f64 1/8192 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 1/2) 5)) (pow.f64 im 7)) (*.f64 5/256 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 7)))))))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(fma.f64 1/2 (/.f64 (*.f64 re re) im) im)
(fma.f64 1/2 (/.f64 re (/.f64 im re)) im)
(fma.f64 1/2 (*.f64 (/.f64 re im) re) im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) (/.f64 1/8 (/.f64 (pow.f64 im 3) (pow.f64 re 4))))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 re im) re) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
re
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) re)
(fma.f64 1/2 (/.f64 (*.f64 im im) re) re)
(-.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 re (-.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/2 (/.f64 im (/.f64 re im)) re) (/.f64 (*.f64 1/8 (pow.f64 im 4)) (pow.f64 re 3)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (fma.f64 1/2 (/.f64 (*.f64 im im) re) re))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (+.f64 re (*.f64 1/2 (/.f64 (*.f64 im im) re)))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) re) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) re)))
(*.f64 -1 re)
(neg.f64 re)
(neg.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(neg.f64 (+.f64 re (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(neg.f64 (fma.f64 1/2 (/.f64 im (/.f64 re im)) re))
(-.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) re)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 re (*.f64 1/2 (/.f64 (*.f64 im im) re))))
(-.f64 (/.f64 (*.f64 1/8 (pow.f64 im 4)) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) re))
(-.f64 (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 -1/2 (/.f64 re (*.f64 im im)))) re)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (+.f64 re (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(-.f64 (/.f64 (*.f64 1/8 (pow.f64 im 4)) (pow.f64 re 3)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) re)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) re)))
re
(+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (/.f64 (*.f64 im im) re)))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) re)
(fma.f64 1/2 (/.f64 (*.f64 im im) re) re)
(-.f64 (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 re (-.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/2 (/.f64 im (/.f64 re im)) re) (/.f64 (*.f64 1/8 (pow.f64 im 4)) (pow.f64 re 3)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (fma.f64 1/2 (/.f64 (*.f64 im im) re) re))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 1/2 (/.f64 (pow.f64 im 2) re)))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (+.f64 re (*.f64 1/2 (/.f64 (*.f64 im im) re)))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) re) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) re)))
im
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im)
(fma.f64 1/2 (/.f64 (*.f64 re re) im) im)
(fma.f64 1/2 (/.f64 re (/.f64 im re)) im)
(fma.f64 1/2 (*.f64 (/.f64 re im) re) im)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) (/.f64 1/8 (/.f64 (pow.f64 im 3) (pow.f64 re 4))))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)) (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)) (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))
(+.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/8 (fma.f64 1/2 (*.f64 (/.f64 re im) re) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
(*.f64 -1 im)
(neg.f64 im)
(neg.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(neg.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(neg.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im))
(-.f64 (/.f64 (*.f64 (*.f64 re re) -1/2) im) im)
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(-.f64 (/.f64 1/8 (/.f64 (pow.f64 im 3) (pow.f64 re 4))) (fma.f64 1/2 (/.f64 re (/.f64 im re)) im))
(-.f64 (*.f64 (/.f64 1/8 (pow.f64 im 3)) (pow.f64 re 4)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) im))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) im)))
(-.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (fma.f64 1/2 (/.f64 (*.f64 re re) im) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
(-.f64 (/.f64 1/8 (/.f64 (pow.f64 im 3) (pow.f64 re 4))) (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
(-.f64 (*.f64 (/.f64 1/8 (pow.f64 im 3)) (pow.f64 re 4)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))

prune120.0ms (3.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1458153
Fresh000
Picked011
Done000
Total1459154
Error
0.3b
Counts
154 → 9
Alt Table
StatusErrorProgram
29.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
13.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
52.8b
(*.f64 1/2 (fma.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) -1/16))))
46.3b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 2))))
46.3b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))))
31.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (-.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2))))
51.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
17.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
13.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2))))
Compiler

Compiled 3479 to 2435 computations (30% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
0.2b
(sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))
0.4b
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
1.0b
(-.f64 (hypot.f64 re im) re)

series16.0ms (0.4%)

Counts
3 → 24
Calls

18 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
1.0ms
im
@0
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
1.0ms
im
@0
(sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))
1.0ms
re
@inf
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
1.0ms
im
@inf
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)

rewrite48.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
877×log1p-expm1-u_binary64
877×expm1-log1p-u_binary64
98×add-sqr-sqrt_binary64
95×pow1_binary64
93×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
121728
2244528
Stop Event
node limit
Counts
3 → 94
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)
(sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2)))
(sqrt.f64 (-.f64 (hypot.f64 re im) re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (hypot.f64 re im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (hypot.f64 re im) (*.f64 (neg.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 re) 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (hypot.f64 re im) re) (fma.f64 (neg.f64 (sqrt.f64 re)) (sqrt.f64 re) re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 re) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (hypot.f64 re im) re)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (hypot.f64 re im) 3) (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))) (/.f64 (pow.f64 re 3) (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (hypot.f64 re im) 2) (+.f64 re (hypot.f64 re im))) (/.f64 (*.f64 re re) (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (hypot.f64 re im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (hypot.f64 re im) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (*.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (/.f64 1 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4)) (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)) (-.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (cbrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im)))) (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 re (hypot.f64 re im)) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 re (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 (neg.f64 re) 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 (neg.f64 re) (neg.f64 re)) (*.f64 (hypot.f64 re im) (neg.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 (neg.f64 re) (neg.f64 re))) (-.f64 (hypot.f64 re im) (neg.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (hypot.f64 re im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (hypot.f64 re im) re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) 1) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) (cbrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 2) (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4)) (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) (cbrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 (hypot.f64 re im) re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (sqrt.f64 (+.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (+.f64 re (hypot.f64 re im))))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (hypot.f64 re im) re) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (hypot.f64 re im) re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re))))))))

simplify33.0ms (0.9%)

Algorithm
egg-herbie
Rules
768×fma-def_binary64
452×times-frac_binary64
443×associate-/l*_binary64
329×cancel-sign-sub-inv_binary64
173×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671138
15071097
217981018
Stop Event
node limit
Counts
118 → 138
Calls
Call 1
Inputs
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re)
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re)) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 5/256 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
(sqrt.f64 im)
(-.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (sqrt.f64 im) (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (sqrt.f64 im) (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(-.f64 (+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 1/512 (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))
(-.f64 (+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 1/512 (*.f64 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 5/256 (*.f64 (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/8192 (*.f64 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
Outputs
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) re)
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) re)
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re)
(/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 im im)) re)
(*.f64 (/.f64 1/2 re) (*.f64 im im))
(*.f64 (/.f64 im (/.f64 re im)) 1/2)
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 im im)) re) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 (/.f64 1/2 re) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (*.f64 (/.f64 im (/.f64 re im)) 1/2))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 im im)) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 1/2 re) (*.f64 im im))) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 im (/.f64 re im)) 1/2)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (pow.f64 im 2)) re)) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (/.f64 (*.f64 (pow.f64 (sqrt.f64 1/2) 2) (*.f64 im im)) re)) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 1/2 re) (*.f64 im im))) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 (/.f64 1/2 re) (*.f64 im im) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (/.f64 -5/128 (/.f64 (pow.f64 re 7) (pow.f64 im 8))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im)))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (sqrt.f64 2) (fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 2)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 -1/2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/8) (sqrt.f64 im))) (*.f64 (sqrt.f64 2) (fma.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (pow.f64 re 3) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re -1/2)))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 2)) -1/16)))
(-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)) (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (fma.f64 1/32 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re))))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 1/512 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 (pow.f64 im 5) 1/2))))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (-.f64 (*.f64 (/.f64 (*.f64 1/32 (sqrt.f64 2)) (sqrt.f64 1/2)) (pow.f64 im 5)) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 2)))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 2)) -1/16)))
(-.f64 (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 5/256 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
(-.f64 (fma.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))) (fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)) (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 5))) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3))) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/8192 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5))) (*.f64 5/256 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)))))))))
(-.f64 (fma.f64 1/512 (*.f64 (*.f64 (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)) (/.f64 (sqrt.f64 2) 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))) (fma.f64 1/32 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re)))))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 (pow.f64 im 5) 1/2))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (+.f64 (*.f64 1/8192 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 7)))) (*.f64 5/256 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 7))))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)) (sqrt.f64 2))) (-.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (-.f64 (*.f64 (/.f64 (*.f64 1/32 (sqrt.f64 2)) (sqrt.f64 1/2)) (pow.f64 im 5)) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 2)))))) (fma.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 1/2)) (pow.f64 im 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (fma.f64 1/8192 (*.f64 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 2)) (/.f64 (*.f64 5/256 (*.f64 (sqrt.f64 2) (pow.f64 im 7))) (sqrt.f64 1/2)))))))
(sqrt.f64 im)
(-.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im))))
(fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))
(-.f64 (+.f64 (sqrt.f64 im) (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (-.f64 (*.f64 1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/8) (fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im)))
(-.f64 (+.f64 (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (sqrt.f64 im) (*.f64 1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (fma.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (+.f64 (sqrt.f64 im) (*.f64 1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 -1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (fma.f64 (*.f64 (pow.f64 re 3) 1/16) (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (fma.f64 1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im))) (*.f64 (*.f64 -1/2 re) (sqrt.f64 (/.f64 1 im))))
(fma.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (pow.f64 re 3) (fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/8) (fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (*.f64 1/16 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(fma.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) -1/16))
(fma.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) -1/16)))
(-.f64 (+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 1/512 (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))
(-.f64 (fma.f64 1/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2)))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) (*.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 1/2) 3))))))
(-.f64 (fma.f64 1/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (sqrt.f64 1/2)))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 1/16 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))))))
(-.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))) (fma.f64 (*.f64 1/32 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) -1/16)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 1/256 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)))))
(-.f64 (+.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 1/512 (*.f64 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 im 3) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 5/256 (*.f64 (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/8192 (*.f64 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
(-.f64 (fma.f64 1/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))) (fma.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/512 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) (fma.f64 5/256 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (pow.f64 im 7) (sqrt.f64 1/2))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/8192 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 5))))))))
(-.f64 (fma.f64 1/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))) (fma.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (*.f64 1/512 (/.f64 (pow.f64 im 7) (*.f64 1/2 (sqrt.f64 1/2))))))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) (fma.f64 5/256 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (pow.f64 im 7) (sqrt.f64 1/2))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (*.f64 1/8192 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 5))))))))
(-.f64 (fma.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/32 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (*.f64 1/256 (/.f64 (pow.f64 im 7) (sqrt.f64 1/2)))))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (pow.f64 im 3) (sqrt.f64 1/2))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 1/256 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (+.f64 (*.f64 1/8192 (/.f64 (pow.f64 im 7) (pow.f64 (sqrt.f64 1/2) 5))) (/.f64 (*.f64 5/256 (pow.f64 im 7)) (sqrt.f64 1/2)))))))

prune142.0ms (3.6%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2023205
Fresh347
Picked011
Done011
Total2059214
Error
0.3b
Counts
214 → 9
Alt Table
StatusErrorProgram
17.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
46.3b
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
13.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2))))
31.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))))
29.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
13.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
46.3b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re))) 2))))
51.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))))
Compiler

Compiled 4984 to 3387 computations (32% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))))
0.5b
(pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)
0.6b
(cbrt.f64 (hypot.f64 re im))
16.1b
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))

series25.0ms (0.6%)

Counts
4 → 38
Calls

24 calls:

TimeVariablePointExpression
3.0ms
im
@0
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))
2.0ms
re
@inf
(sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))))
2.0ms
im
@0
(pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)
2.0ms
im
@inf
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))
2.0ms
re
@inf
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))

rewrite49.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
799×log1p-expm1-u_binary64
799×expm1-log1p-u_binary64
108×add-sqr-sqrt_binary64
103×pow1_binary64
101×*-un-lft-identity_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01138
122634
2255634
Stop Event
node limit
Counts
4 → 91
Calls
Call 1
Inputs
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))
(cbrt.f64 (hypot.f64 re im))
(pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)
(sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (hypot.f64 re im) re)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 re (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (hypot.f64 re im) re)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (hypot.f64 re im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (hypot.f64 re im) 0) re)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (hypot.f64 re im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (hypot.f64 re im) re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) (pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 2) (cbrt.f64 (+.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 re re) (*.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (+.f64 (hypot.f64 re im) re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (hypot.f64 re im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (hypot.f64 re im) re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 (hypot.f64 re im) re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (hypot.f64 re im) re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (cbrt.f64 (hypot.f64 re im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cbrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 re im) 1/6) (pow.f64 (hypot.f64 re im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (cbrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (hypot.f64 re im)) 1/3) (pow.f64 (sqrt.f64 (hypot.f64 re im)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 re im) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 2) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 1/6) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (cbrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 re im)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 re im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cbrt.f64 (hypot.f64 re im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 re im) 1/6) (*.f64 (pow.f64 (hypot.f64 re im) 1/6) (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))) (cbrt.f64 (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 re im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 re im)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))) (cbrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 (hypot.f64 re im) re) 2) 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (+.f64 (hypot.f64 re im) re)))))))))

simplify44.0ms (1.1%)

Algorithm
egg-herbie
Rules
803×fma-def_binary64
368×cancel-sign-sub-inv_binary64
337×associate-/l*_binary64
311×times-frac_binary64
170×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02181256
16491235
221651176
Stop Event
node limit
Counts
129 → 155
Calls
Call 1
Inputs
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(*.f64 -1 re)
(*.f64 -1 re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(*.f64 -1 re)
(*.f64 -1 re)
(pow.f64 im 1/3)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3))) (pow.f64 im 1/3))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3))) (pow.f64 im 1/3)) (*.f64 5/72 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/3))))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3))) (+.f64 (*.f64 55/1296 (*.f64 (pow.f64 re 6) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/3))) (pow.f64 im 1/3))) (*.f64 5/72 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/3))))
(pow.f64 re 1/3)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (pow.f64 im 2))) (pow.f64 re 1/3))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (pow.f64 im 2))) (pow.f64 re 1/3)) (*.f64 5/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (pow.f64 im 4))))
(-.f64 (+.f64 (*.f64 55/1296 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 17)) 1/3) (pow.f64 im 6))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (pow.f64 im 2))) (pow.f64 re 1/3))) (*.f64 5/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (pow.f64 im 4))))
(pow.f64 (pow.f64 im 2) 1/3)
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 4)) 1/3))) (pow.f64 (pow.f64 im 2) 1/3))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 4)) 1/3))) (pow.f64 (pow.f64 im 2) 1/3)) (*.f64 1/9 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/3))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 4)) 1/3))) (+.f64 (pow.f64 (pow.f64 im 2) 1/3) (*.f64 5/81 (*.f64 (pow.f64 re 6) (pow.f64 (/.f64 1 (pow.f64 im 16)) 1/3))))) (*.f64 1/9 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/3))))
(pow.f64 (pow.f64 re 2) 1/3)
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 4)) 1/3) (pow.f64 im 2))) (pow.f64 (pow.f64 re 2) 1/3))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 4)) 1/3) (pow.f64 im 2))) (pow.f64 (pow.f64 re 2) 1/3)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 10)) 1/3) (pow.f64 im 4))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 4)) 1/3) (pow.f64 im 2))) (+.f64 (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 16)) 1/3) (pow.f64 im 6))) (pow.f64 (pow.f64 re 2) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 10)) 1/3) (pow.f64 im 4))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 5/256 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (neg.f64 re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (neg.f64 re)))
Outputs
im
(-.f64 im re)
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) re)
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) re)
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (-.f64 im re))
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (-.f64 im re))
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) re))
(-.f64 (fma.f64 1/2 (/.f64 (*.f64 re re) im) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (/.f64 re (/.f64 im re)) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 re im) re) im) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) re))
(*.f64 -1 re)
(neg.f64 re)
(*.f64 -1 re)
(neg.f64 re)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(-.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 im im) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 1/2 (/.f64 (*.f64 im im) re))) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8)))
(-.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/2 (/.f64 (pow.f64 im 2) re))) (+.f64 (*.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 1/2 (/.f64 (*.f64 im im) re))) (fma.f64 5/128 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8))) (/.f64 (*.f64 5/128 (pow.f64 im 8)) (pow.f64 re 7)))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/8 (/.f64 -5/128 (/.f64 (pow.f64 re 7) (pow.f64 im 8))))))
(*.f64 -1 re)
(neg.f64 re)
(*.f64 -1 re)
(neg.f64 re)
(pow.f64 im 1/3)
(cbrt.f64 im)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3))) (pow.f64 im 1/3))
(fma.f64 1/6 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 5)))) (cbrt.f64 im))
(fma.f64 1/6 (*.f64 re (*.f64 re (cbrt.f64 (/.f64 1 (pow.f64 im 5))))) (cbrt.f64 im))
(fma.f64 (*.f64 re re) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/6) (cbrt.f64 im))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3))) (pow.f64 im 1/3)) (*.f64 5/72 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/3))))
(+.f64 (fma.f64 1/6 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 5)))) (cbrt.f64 im)) (*.f64 -5/72 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 11))))))
(fma.f64 1/6 (*.f64 re (*.f64 re (cbrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (cbrt.f64 im) (*.f64 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 11)))) -5/72)))
(fma.f64 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 11)))) -5/72 (fma.f64 (*.f64 re re) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/6) (cbrt.f64 im)))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3))) (+.f64 (*.f64 55/1296 (*.f64 (pow.f64 re 6) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/3))) (pow.f64 im 1/3))) (*.f64 5/72 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/3))))
(+.f64 (fma.f64 1/6 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 55/1296 (*.f64 (pow.f64 re 6) (cbrt.f64 (/.f64 1 (pow.f64 im 17)))) (cbrt.f64 im))) (*.f64 -5/72 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 11))))))
(+.f64 (fma.f64 1/6 (*.f64 re (*.f64 re (cbrt.f64 (/.f64 1 (pow.f64 im 5))))) (fma.f64 55/1296 (*.f64 (pow.f64 re 6) (cbrt.f64 (/.f64 1 (pow.f64 im 17)))) (cbrt.f64 im))) (*.f64 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 11)))) -5/72))
(fma.f64 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 11)))) -5/72 (fma.f64 (*.f64 re re) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/6) (fma.f64 55/1296 (*.f64 (pow.f64 re 6) (cbrt.f64 (/.f64 1 (pow.f64 im 17)))) (cbrt.f64 im))))
(pow.f64 re 1/3)
(cbrt.f64 re)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (pow.f64 im 2))) (pow.f64 re 1/3))
(fma.f64 1/6 (*.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 re 5)))) (cbrt.f64 re))
(fma.f64 1/6 (*.f64 im (*.f64 im (cbrt.f64 (/.f64 1 (pow.f64 re 5))))) (cbrt.f64 re))
(fma.f64 (*.f64 im im) (*.f64 1/6 (cbrt.f64 (/.f64 1 (pow.f64 re 5)))) (cbrt.f64 re))
(-.f64 (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (pow.f64 im 2))) (pow.f64 re 1/3)) (*.f64 5/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (pow.f64 im 4))))
(+.f64 (fma.f64 1/6 (*.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 re 5)))) (cbrt.f64 re)) (*.f64 -5/72 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 11))))))
(-.f64 (fma.f64 1/6 (*.f64 im (*.f64 im (cbrt.f64 (/.f64 1 (pow.f64 re 5))))) (cbrt.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 5/72 (cbrt.f64 (/.f64 1 (pow.f64 re 11))))))
(fma.f64 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 11)))) -5/72 (fma.f64 (*.f64 im im) (*.f64 1/6 (cbrt.f64 (/.f64 1 (pow.f64 re 5)))) (cbrt.f64 re)))
(-.f64 (+.f64 (*.f64 55/1296 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 17)) 1/3) (pow.f64 im 6))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (pow.f64 im 2))) (pow.f64 re 1/3))) (*.f64 5/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (pow.f64 im 4))))
(+.f64 (fma.f64 55/1296 (*.f64 (pow.f64 im 6) (cbrt.f64 (/.f64 1 (pow.f64 re 17)))) (fma.f64 1/6 (*.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 re 5)))) (cbrt.f64 re))) (*.f64 -5/72 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 11))))))
(+.f64 (fma.f64 55/1296 (*.f64 (pow.f64 im 6) (cbrt.f64 (/.f64 1 (pow.f64 re 17)))) (fma.f64 1/6 (*.f64 im (*.f64 im (cbrt.f64 (/.f64 1 (pow.f64 re 5))))) (cbrt.f64 re))) (*.f64 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 11)))) -5/72))
(fma.f64 (pow.f64 im 6) (*.f64 55/1296 (cbrt.f64 (/.f64 1 (pow.f64 re 17)))) (fma.f64 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 11)))) -5/72 (fma.f64 (*.f64 im im) (*.f64 1/6 (cbrt.f64 (/.f64 1 (pow.f64 re 5)))) (cbrt.f64 re))))
(pow.f64 (pow.f64 im 2) 1/3)
(cbrt.f64 (*.f64 im im))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 4)) 1/3))) (pow.f64 (pow.f64 im 2) 1/3))
(fma.f64 1/3 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 4)))) (cbrt.f64 (*.f64 im im)))
(fma.f64 (*.f64 re re) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 4))) 1/3) (cbrt.f64 (*.f64 im im)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 4)) 1/3))) (pow.f64 (pow.f64 im 2) 1/3)) (*.f64 1/9 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/3))))
(+.f64 (fma.f64 1/3 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 4)))) (cbrt.f64 (*.f64 im im))) (*.f64 -1/9 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 10))))))
(+.f64 (fma.f64 1/3 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 4)))) (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 -1/9 (pow.f64 re 4)) (cbrt.f64 (/.f64 1 (pow.f64 im 10)))))
(fma.f64 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 10)))) -1/9 (fma.f64 (*.f64 re re) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 4))) 1/3) (cbrt.f64 (*.f64 im im))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 re 2) (pow.f64 (/.f64 1 (pow.f64 im 4)) 1/3))) (+.f64 (pow.f64 (pow.f64 im 2) 1/3) (*.f64 5/81 (*.f64 (pow.f64 re 6) (pow.f64 (/.f64 1 (pow.f64 im 16)) 1/3))))) (*.f64 1/9 (*.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/3))))
(+.f64 (fma.f64 1/3 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 4)))) (+.f64 (cbrt.f64 (*.f64 im im)) (*.f64 5/81 (*.f64 (pow.f64 re 6) (cbrt.f64 (/.f64 1 (pow.f64 im 16))))))) (*.f64 -1/9 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 10))))))
(+.f64 (fma.f64 1/3 (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (pow.f64 im 4)))) (fma.f64 5/81 (*.f64 (pow.f64 re 6) (cbrt.f64 (/.f64 1 (pow.f64 im 16)))) (cbrt.f64 (*.f64 im im)))) (*.f64 (*.f64 -1/9 (pow.f64 re 4)) (cbrt.f64 (/.f64 1 (pow.f64 im 10)))))
(fma.f64 (*.f64 (pow.f64 re 4) (cbrt.f64 (/.f64 1 (pow.f64 im 10)))) -1/9 (fma.f64 (*.f64 re re) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 4))) 1/3) (fma.f64 (pow.f64 re 6) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 16))) 5/81) (cbrt.f64 (*.f64 im im)))))
(pow.f64 (pow.f64 re 2) 1/3)
(cbrt.f64 (*.f64 re re))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 4)) 1/3) (pow.f64 im 2))) (pow.f64 (pow.f64 re 2) 1/3))
(fma.f64 1/3 (*.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 re 4)))) (cbrt.f64 (*.f64 re re)))
(fma.f64 1/3 (*.f64 im (*.f64 im (cbrt.f64 (/.f64 1 (pow.f64 re 4))))) (cbrt.f64 (*.f64 re re)))
(fma.f64 (*.f64 im im) (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 re 4)))) (cbrt.f64 (*.f64 re re)))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 4)) 1/3) (pow.f64 im 2))) (pow.f64 (pow.f64 re 2) 1/3)) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 10)) 1/3) (pow.f64 im 4))))
(-.f64 (fma.f64 1/3 (*.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 re 4)))) (cbrt.f64 (*.f64 re re))) (*.f64 1/9 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 10))))))
(fma.f64 1/3 (*.f64 im (*.f64 im (cbrt.f64 (/.f64 1 (pow.f64 re 4))))) (+.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 10)))) -1/9)))
(fma.f64 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 10)))) -1/9 (fma.f64 (*.f64 im im) (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 re 4)))) (cbrt.f64 (*.f64 re re))))
(-.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 4)) 1/3) (pow.f64 im 2))) (+.f64 (*.f64 5/81 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 16)) 1/3) (pow.f64 im 6))) (pow.f64 (pow.f64 re 2) 1/3))) (*.f64 1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 10)) 1/3) (pow.f64 im 4))))
(-.f64 (fma.f64 1/3 (*.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 re 4)))) (fma.f64 5/81 (*.f64 (pow.f64 im 6) (cbrt.f64 (/.f64 1 (pow.f64 re 16)))) (cbrt.f64 (*.f64 re re)))) (*.f64 1/9 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 10))))))
(+.f64 (fma.f64 1/3 (*.f64 im (*.f64 im (cbrt.f64 (/.f64 1 (pow.f64 re 4))))) (fma.f64 5/81 (*.f64 (pow.f64 im 6) (cbrt.f64 (/.f64 1 (pow.f64 re 16)))) (cbrt.f64 (*.f64 re re)))) (*.f64 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 10)))) -1/9))
(fma.f64 (*.f64 (pow.f64 im 4) (cbrt.f64 (/.f64 1 (pow.f64 re 10)))) -1/9 (fma.f64 (*.f64 im im) (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 re 4)))) (fma.f64 (pow.f64 im 6) (*.f64 5/81 (cbrt.f64 (/.f64 1 (pow.f64 re 16)))) (cbrt.f64 (*.f64 re re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) -1/2))
(*.f64 (sqrt.f64 2) (-.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (fma.f64 1/8 (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) -1/2)))
(fma.f64 1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (-.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2))))
(-.f64 (+.f64 (*.f64 1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (fma.f64 1/8 (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))) (*.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/8 (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (*.f64 1/16 (sqrt.f64 2)) (pow.f64 re 3))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) -1/2))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8))) (*.f64 (sqrt.f64 2) (-.f64 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) 1/16) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))))
(-.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 -1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (sqrt.f64 1/2)) -1/16))
(fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 3)) (sqrt.f64 2))) -1/16))
(-.f64 (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (pow.f64 im 5) (sqrt.f64 2)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (*.f64 (pow.f64 im 5) (sqrt.f64 2)) (pow.f64 (sqrt.f64 1/2) 3))) (*.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5))))) (fma.f64 1/512 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5)) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) 1/2)) (*.f64 1/16 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (sqrt.f64 1/2)))))
(+.f64 (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (-.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 2))) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 2)))))) (*.f64 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 3)) (sqrt.f64 2))) -1/16))
(-.f64 (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (+.f64 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 5)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 13))))) (*.f64 5/256 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))))))))
(-.f64 (fma.f64 1/512 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))) (fma.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 1 re)) (*.f64 1/32 (*.f64 (/.f64 (*.f64 (pow.f64 im 5) (sqrt.f64 2)) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (fma.f64 1/512 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (*.f64 (pow.f64 im 5) (sqrt.f64 2)) (pow.f64 (sqrt.f64 1/2) 3))) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/8192 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 7)) (pow.f64 (sqrt.f64 1/2) 5))) (*.f64 5/256 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)))))))))
(-.f64 (fma.f64 1/512 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) 1/2) (/.f64 (pow.f64 im 7) (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 (pow.f64 re 13)))) (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 1/32 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5)))))) (fma.f64 1/512 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 5)) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) 1/2)) (fma.f64 1/16 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (sqrt.f64 1/2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (+.f64 (*.f64 1/8192 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 1/2) 5)) (pow.f64 im 7))) (/.f64 (*.f64 5/256 (*.f64 (sqrt.f64 2) (pow.f64 im 7))) (sqrt.f64 1/2)))))))
(-.f64 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (*.f64 1/256 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (pow.f64 im 7))) (fma.f64 (sqrt.f64 1/2) (*.f64 (*.f64 im (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (-.f64 (*.f64 1/32 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 2))) (*.f64 1/256 (*.f64 (/.f64 (pow.f64 im 5) (sqrt.f64 1/2)) (sqrt.f64 2))))))) (fma.f64 1/16 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 3)) (sqrt.f64 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (fma.f64 1/8192 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 7))) (/.f64 5/256 (/.f64 (/.f64 (sqrt.f64 1/2) (pow.f64 im 7)) (sqrt.f64 2)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (neg.f64 re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (neg.f64 re)))

prune137.0ms (3.5%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1932195
Fresh246
Picked011
Done022
Total1959204
Error
0.3b
Counts
204 → 9
Alt Table
StatusErrorProgram
17.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
46.3b
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
13.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2))))
31.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))))
60.0b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (neg.f64 re))))
29.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
13.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
46.3b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 re))))
51.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 (/.f64 im re) im)))))
Compiler

Compiled 5125 to 3304 computations (35.5% saved)

localize12.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.0b
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
1.0b
(-.f64 (hypot.f64 re im) re)
16.1b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))

series16.0ms (0.4%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
2.0ms
re
@inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
2.0ms
im
@0
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
2.0ms
re
@-inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
2.0ms
re
@0
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
1.0ms
im
@inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)

rewrite44.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
458×log-prod_binary64
410×prod-diff_binary64
199×fma-def_binary64
182×expm1-udef_binary64
182×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01028
121925
2272125
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2)) (cbrt.f64 (pow.f64 2 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) 1/3) (pow.f64 (pow.f64 2 3/2) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) 1/3) (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) (pow.f64 2 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 3/2) (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 3/2) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 3/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2) (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))))

simplify45.0ms (1.1%)

Algorithm
egg-herbie
Rules
591×associate-/l*_binary64
530×fma-def_binary64
457×associate-/r*_binary64
317×cancel-sign-sub-inv_binary64
152×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02051770
16091730
219431609
Stop Event
node limit
Counts
86 → 113
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))))
(-.f64 (+.f64 (*.f64 7/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 5))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))))
(-.f64 (+.f64 (*.f64 7/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 5))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 33/1024 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (pow.f64 im 7))) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3)))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(-.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))) (*.f64 3/2 (*.f64 (*.f64 (sqrt.f64 8) re) (sqrt.f64 im))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))) (*.f64 9/8 (*.f64 (*.f64 (sqrt.f64 8) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im))))) (*.f64 3/2 (*.f64 (*.f64 (sqrt.f64 8) re) (sqrt.f64 im))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))) (*.f64 9/8 (*.f64 (*.f64 (sqrt.f64 8) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 5/16 (*.f64 (*.f64 (sqrt.f64 8) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 3/2 (*.f64 (*.f64 (sqrt.f64 8) re) (sqrt.f64 im)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))
(-.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 143/1024 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 6)) (pow.f64 re 6))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))
(+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))) (*.f64 9/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))
(-.f64 (+.f64 (*.f64 35/1024 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 6)) (pow.f64 re 6))) (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))) (*.f64 9/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))
(-.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 143/1024 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 6)) (pow.f64 re 6)))))
(exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im)))))
(-.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) re) im)))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (*.f64 9/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (pow.f64 re 2)) (pow.f64 im 2)))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) re) im)))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (*.f64 9/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (pow.f64 re 2)) (pow.f64 im 2)))) (+.f64 (*.f64 5/16 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (pow.f64 re 3)) (pow.f64 im 3))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) re) im))))
(exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) im)) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) im)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 re 2) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) im)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 re 2) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 im 2))) (+.f64 (*.f64 5/16 (/.f64 (*.f64 (pow.f64 re 3) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 im 3))) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (neg.f64 re) (sqrt.f64 2))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(-.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (fma.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 3))))))
(-.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (/.f64 re (/.f64 (sqrt.f64 2) re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/2))) (fma.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/2 (/.f64 (/.f64 (*.f64 re re) 2) (sqrt.f64 2))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (-.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/2) (-.f64 (*.f64 (/.f64 re (sqrt.f64 2)) re) (*.f64 (/.f64 re (sqrt.f64 2)) (/.f64 re 2)))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (fma.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 3)))))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 re 3) (*.f64 2 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (/.f64 re (/.f64 (sqrt.f64 2) re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/2)))) (fma.f64 1/2 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (*.f64 (/.f64 re (/.f64 (sqrt.f64 2) re)) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 2))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (+.f64 (*.f64 (*.f64 (/.f64 re (sqrt.f64 2)) re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (/.f64 (pow.f64 re 3) (*.f64 2 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))) (fma.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (fma.f64 (*.f64 (/.f64 re (sqrt.f64 2)) re) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)))))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(-.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) (*.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 -1/8 (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) -1/8))
(-.f64 (+.f64 (*.f64 7/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 5))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))))
(+.f64 (fma.f64 7/128 (*.f64 (pow.f64 im 5) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 7/128 (*.f64 (pow.f64 im 5) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 -1/8 (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) -1/8 (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 7/128 (*.f64 (pow.f64 im 5) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))))
(-.f64 (+.f64 (*.f64 7/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 5))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 33/1024 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (pow.f64 im 7))) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3)))))
(-.f64 (fma.f64 7/128 (*.f64 (pow.f64 im 5) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (fma.f64 33/1024 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (pow.f64 im 7)) (*.f64 1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(-.f64 (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (pow.f64 im 5) 7/128))) (fma.f64 1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) (*.f64 (pow.f64 im 7) 33/1024))))
(fma.f64 im (sqrt.f64 (/.f64 1 re)) (fma.f64 (pow.f64 im 5) (*.f64 7/128 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (fma.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) -1/8 (*.f64 (pow.f64 im 7) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 13))) -33/1024)))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(*.f64 (sqrt.f64 8) (pow.f64 im 3/2))
(-.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))) (*.f64 3/2 (*.f64 (*.f64 (sqrt.f64 8) re) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))) (*.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8)))))
(fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) -3/2))
(*.f64 (sqrt.f64 8) (-.f64 (pow.f64 im 3/2) (*.f64 (*.f64 (sqrt.f64 im) re) 3/2)))
(-.f64 (+.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))) (*.f64 9/8 (*.f64 (*.f64 (sqrt.f64 8) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im))))) (*.f64 3/2 (*.f64 (*.f64 (sqrt.f64 8) re) (sqrt.f64 im))))
(+.f64 (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))))) (*.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8)))))
(fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (*.f64 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) -3/2)))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 9/8 (sqrt.f64 8)) (*.f64 re re)) (*.f64 (sqrt.f64 8) (-.f64 (pow.f64 im 3/2) (*.f64 (*.f64 (sqrt.f64 im) re) 3/2))))
(-.f64 (+.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))) (*.f64 9/8 (*.f64 (*.f64 (sqrt.f64 8) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im))))) (+.f64 (*.f64 5/16 (*.f64 (*.f64 (sqrt.f64 8) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 3/2 (*.f64 (*.f64 (sqrt.f64 8) re) (sqrt.f64 im)))))
(-.f64 (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))))) (fma.f64 5/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (*.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))))))
(-.f64 (fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))) (fma.f64 5/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (*.f64 (sqrt.f64 im) (*.f64 3/2 (*.f64 re (sqrt.f64 8))))))
(-.f64 (*.f64 (sqrt.f64 8) (+.f64 (pow.f64 im 3/2) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re re)) 9/8))) (*.f64 (sqrt.f64 8) (+.f64 (*.f64 (*.f64 (sqrt.f64 im) re) 3/2) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (pow.f64 re 3)) 5/16))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))
(*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))
(-.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (*.f64 re re) (*.f64 im im))) -3/8))
(fma.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2) (*.f64 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -3/8))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (fma.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (pow.f64 re 4)) (pow.f64 im 4)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (*.f64 re re) (*.f64 im im))) -3/8))
(fma.f64 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -3/8 (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 re) 3/2))) (pow.f64 im 4)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 143/1024 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 6)) (pow.f64 re 6))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(-.f64 (fma.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (*.f64 143/1024 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 6) (pow.f64 im 6))))))
(-.f64 (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (pow.f64 re 4)) (pow.f64 im 4)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (*.f64 re re) (*.f64 im im))) (*.f64 143/1024 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (pow.f64 re 6) (pow.f64 im 6))))))
(fma.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2) (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 re) 3/2))) (pow.f64 im 4)) (fma.f64 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 6)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -143/1024))))
(exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))
(+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (*.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))
(fma.f64 3/8 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))) (*.f64 9/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))
(-.f64 (+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (*.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))))) (*.f64 9/128 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) -9/128)))
(fma.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 4)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) -9/128 (fma.f64 3/8 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))))
(-.f64 (+.f64 (*.f64 35/1024 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 6)) (pow.f64 re 6))) (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))) (*.f64 9/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))
(+.f64 (fma.f64 35/1024 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 6) (pow.f64 im 6))) (+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (*.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))) (*.f64 -9/128 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(+.f64 (fma.f64 35/1024 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (pow.f64 im 6)) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) -9/128))
(fma.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 4)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) -9/128 (fma.f64 3/8 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))) (fma.f64 35/1024 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (pow.f64 im 6)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))
(*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))
(-.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (*.f64 re re) (*.f64 im im))) -3/8))
(fma.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2) (*.f64 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -3/8))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (fma.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (pow.f64 re 4)) (pow.f64 im 4)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (*.f64 re re) (*.f64 im im))) -3/8))
(fma.f64 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -3/8 (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 re) 3/2))) (pow.f64 im 4)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))))
(-.f64 (+.f64 (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 143/1024 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 6)) (pow.f64 re 6)))))
(-.f64 (fma.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (*.f64 143/1024 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 6) (pow.f64 im 6))))))
(-.f64 (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (pow.f64 re 4)) (pow.f64 im 4)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re)))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (*.f64 re re) (*.f64 im im))) (*.f64 143/1024 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 (*.f64 im im)) (log.f64 re))) (/.f64 (pow.f64 re 6) (pow.f64 im 6))))))
(fma.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2) (fma.f64 27/128 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 4) (pow.f64 (/.f64 1 re) 3/2))) (pow.f64 im 4)) (fma.f64 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 6)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) -143/1024))))
(exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))
(-.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (/.f64 im re))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (/.f64 im re)) -3/2))
(fma.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im) re) -3/2 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (*.f64 9/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (pow.f64 re 2)) (pow.f64 im 2)))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (-.f64 (*.f64 9/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (/.f64 (*.f64 im im) (*.f64 re re)))) (*.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (/.f64 im re)))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (fma.f64 9/8 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (/.f64 im re)) -3/2)))
(fma.f64 9/8 (*.f64 (*.f64 (/.f64 re (*.f64 im im)) re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (fma.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im) re) -3/2 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))))
(-.f64 (+.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (*.f64 9/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (pow.f64 re 2)) (pow.f64 im 2)))) (+.f64 (*.f64 5/16 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) (pow.f64 re 3)) (pow.f64 im 3))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 1 im))))) re) im))))
(-.f64 (+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (*.f64 9/8 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (/.f64 (*.f64 im im) (*.f64 re re))))) (fma.f64 5/16 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (/.f64 (pow.f64 im 3) (pow.f64 re 3))) (*.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (neg.f64 (log.f64 im)))) (/.f64 im re)))))
(-.f64 (fma.f64 9/8 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (fma.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (/.f64 im re)) (*.f64 5/16 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (/.f64 (pow.f64 im 3) (pow.f64 re 3))))))
(fma.f64 9/8 (*.f64 (*.f64 (/.f64 re (*.f64 im im)) re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (-.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (fma.f64 3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im) re) (*.f64 5/16 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) (pow.f64 (/.f64 im re) 3))))))
(exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) im)) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) im)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 re 2) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (fma.f64 9/8 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (fma.f64 9/8 (*.f64 (/.f64 (*.f64 re re) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(fma.f64 9/8 (*.f64 (*.f64 (/.f64 re (*.f64 im im)) re) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (fma.f64 3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) im)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 re 2) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 im 2))) (+.f64 (*.f64 5/16 (/.f64 (*.f64 (pow.f64 re 3) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 im 3))) (exp.f64 (*.f64 3/2 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (fma.f64 9/8 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (fma.f64 5/16 (/.f64 (pow.f64 re 3) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (fma.f64 9/8 (*.f64 (/.f64 (*.f64 re re) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (fma.f64 5/16 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))))
(fma.f64 3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (fma.f64 9/8 (*.f64 (*.f64 (/.f64 re (*.f64 im im)) re) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (fma.f64 5/16 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (pow.f64 (/.f64 im re) 3)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))))

prune144.0ms (3.7%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New2251226
Fresh145
Picked011
Done033
Total2269235
Error
0.2b
Counts
235 → 9
Alt Table
StatusErrorProgram
17.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) (neg.f64 re)))))
46.3b
(*.f64 1/2 (*.f64 (sqrt.f64 1/2) (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
13.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) 2))))
31.6b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (fma.f64 (*.f64 re -1/2) (sqrt.f64 (/.f64 1 im)) (sqrt.f64 im))))
60.0b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 (neg.f64 re))))
29.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
13.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
46.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
51.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (*.f64 (/.f64 im re) im)))))
Compiler

Compiled 5670 to 4097 computations (27.7% saved)

regimes246.0ms (6.3%)

Accuracy

Total 6.4b remaining (98%)

Threshold costs 0b (0%)

Counts
45 → 2
Compiler

Compiled 661 to 441 computations (33.3% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Calls

1 calls:

0.0ms
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Steps
ItersPointRange
0.0
∈ [
0.0
,
1.5288714707502948e-148
]
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02652
13652
24152
34352
44452
Stop Event
saturated
Calls
Call 1
Inputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
Outputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(if (<=.f64 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))

end122.0ms (3.1%)

Stop Event
fuel
Compiler

Compiled 200 to 153 computations (23.5% saved)

Profiling

Loading profile data...