Details

Time bar (total: 8.9s)

analyze195.0ms (2.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
18.7%81.2%0.1%6
37.5%62.4%0.1%7
42.1%57.8%0.1%8
54.6%45.3%0.1%9
57.4%42.5%0.1%10
64.4%35.5%0.1%11
65.9%34%0.1%12
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample2.1s (24%)

Results
1.1s6376×body256valid
395.0ms558×body4096valid
362.0ms637×body2048valid
175.0ms434×body1024valid
96.0ms251×body512valid

preprocess16.0ms (0.2%)

Algorithm
egg-herbie
Rules
10×fma-def_binary64
*-commutative_binary64
distribute-lft-in_binary64
distribute-rgt-in_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01930
14530
25530
35930
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 re (hypot.f64 re im)))))
(*.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 im (hypot.f64 re im)))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
distribute-lft-in_binary64
distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
23415
33615
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 re (hypot.f64 re im)))))

eval1.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
12.4b
Counts
3 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
36.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Compiler

Compiled 29 to 21 computations (27.6% saved)

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.0b
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
1.1b
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 39 to 16 computations (59% saved)

series62.0ms (0.7%)

Counts
3 → 56
Calls

18 calls:

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

rewrite76.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
907×pow1_binary64
845×add-log-exp_binary64
844×log1p-expm1-u_binary64
844×expm1-log1p-u_binary64
827×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify76.0ms (0.9%)

Algorithm
egg-herbie
Rules
735×fma-def_binary64
661×associate-*r*_binary64
609×associate-*l*_binary64
319×unswap-sqr_binary64
280×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01501391
14511326
214251270
365911270
Stop Event
node limit
Counts
128 → 145
Calls
Call 1
Inputs
im
(+.f64 re im)
(+.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 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.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 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 re im)
(+.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 -1 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
im
(+.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)))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1 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 -1/2 (/.f64 (pow.f64 im 2) re)))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 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 -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)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 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 -1 im)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
Outputs
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re))
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (+.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)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) (+.f64 im re)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(fma.f64 re 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.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)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 re 2 (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (pow.f64 im 6) (/.f64 1/16 (pow.f64 re 5))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 (*.f64 (/.f64 im re) im) -1/2)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 (*.f64 im im) re) -1/2))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
(fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3))))
(+.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 -1/2 (/.f64 (pow.f64 im 2) re))))
(fma.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 (/.f64 (*.f64 im im) re) -1/2)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (/.f64 -1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6)))))
(fma.f64 (*.f64 (/.f64 im re) im) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 (/.f64 -1/16 (pow.f64 re 5)) (pow.f64 im 6))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)) (fma.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 1/2 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (pow.f64 re 7)) (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (/.f64 -1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)) (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(fma.f64 re 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.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)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 re 2 (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (pow.f64 im 6) (/.f64 1/16 (pow.f64 re 5))))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re))
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (+.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)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (*.f64 (/.f64 re im) re) (+.f64 im re)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(-.f64 re im)
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(+.f64 re (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im)))
(-.f64 (fma.f64 (*.f64 (/.f64 re im) re) -1/2 re) im)
(-.f64 re (fma.f64 1/2 (*.f64 (/.f64 re im) re) im))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(+.f64 re (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im))))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 (fma.f64 (*.f64 (/.f64 re im) re) -1/2 re) im))
(-.f64 (fma.f64 (*.f64 (/.f64 re im) re) -1/2 re) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) im))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 1/2 (sqrt.f64 2)) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im))))) re))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (fma.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2))))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) -1/4)))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 1/2 (sqrt.f64 2)) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im))))) re))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/4)) (sqrt.f64 im))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(fma.f64 2 (sqrt.f64 re) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 im))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(fma.f64 2 (sqrt.f64 re) (fma.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)))) (*.f64 (*.f64 1/2 (pow.f64 im 6)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re))))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4))))
(fma.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (*.f64 (pow.f64 im 6) (*.f64 1/2 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re))))))) (*.f64 2 (sqrt.f64 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 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) im))
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 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)))
(fma.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)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (/.f64 (*.f64 im im) re) re)
(fma.f64 1/2 (/.f64 im (/.f64 re im)) re)
(fma.f64 1/2 (*.f64 (/.f64 im re) im) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 im re) im) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.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)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re)))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 im re) im) re)))
(*.f64 -1 re)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(fma.f64 -1 re (*.f64 (/.f64 (*.f64 im im) re) -1/2))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (neg.f64 re))
(-.f64 (*.f64 (*.f64 (/.f64 im re) im) -1/2) re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(fma.f64 -1 re (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 (*.f64 im im) re) -1/2)))
(-.f64 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) re)
(-.f64 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))) re)
(-.f64 (*.f64 (*.f64 (/.f64 im re) im) -1/2) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(+.f64 (*.f64 -1 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 -1/2 (/.f64 (pow.f64 im 2) re)))))
(fma.f64 -1 re (fma.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 (/.f64 (*.f64 im im) re) -1/2))))
(-.f64 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (/.f64 -1/16 (/.f64 (pow.f64 re 5) (pow.f64 im 6))))) re)
(-.f64 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 (/.f64 -1/16 (pow.f64 re 5)) (pow.f64 im 6)))) re)
(-.f64 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) re))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (/.f64 (*.f64 im im) re) re)
(fma.f64 1/2 (/.f64 im (/.f64 re im)) re)
(fma.f64 1/2 (*.f64 (/.f64 im re) im) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 im re) im) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.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)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re)))
(fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 im re) im) 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 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) im))
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 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)))
(fma.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)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
(fma.f64 1/2 (*.f64 (/.f64 re im) re) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im))
(-.f64 (/.f64 (*.f64 re (*.f64 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)) (*.f64 -1 im)))
(fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im)))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 (/.f64 (*.f64 re (*.f64 re -1/2)) im) im))
(-.f64 (/.f64 (*.f64 re (*.f64 re -1/2)) im) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) im))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(fma.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im))))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) (-.f64 (/.f64 (*.f64 re (*.f64 re -1/2)) im) im)))
(-.f64 (fma.f64 (*.f64 (/.f64 re im) re) -1/2 (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im))

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 re re) (*.f64 im im))
0.0b
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
1.1b
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
30.2b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 77 to 19 computations (75.3% saved)

series11.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite83.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
541×log-prod_binary64
540×fma-def_binary64
404×pow-prod-down_binary64
298×pow2_binary64
265×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01131
124630
2342030
Stop Event
node limit
Counts
4 → 172
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(+.f64 (*.f64 re re) (*.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im))) 2)) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))))))) (#(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 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (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 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (hypot.f64 (pow.f64 im 3) (pow.f64 re 3)) (hypot.f64 (*.f64 re re) (sqrt.f64 (-.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))))) (#(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 (hypot.f64 re im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 3/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 fabs.f64 (hypot.f64 re im))))) (#(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 hypot.f64 re im)))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 im re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (hypot.f64 re im)))))) (#(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 (*.f64 2 (log.f64 (hypot.f64 re im))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 re im)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.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 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (hypot.f64 re im) re) (-.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)) (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re re (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.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 (hypot.f64 re im) re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 re (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 re (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (exp.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (hypot.f64 re im)) (+.f64 1 (expm1.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (+.f64 1 (expm1.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 re 1 (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (hypot.f64 re im) 1 re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 re (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (hypot.f64 re im) re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cbrt.f64 re) re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2)) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 1 1/2) (hypot.f64 re im) re)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 re 2)))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 re im) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 re 4) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 re im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 re im) (hypot.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (hypot.f64 re im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (/.f64 1 (+.f64 (pow.f64 re 4) (-.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (-.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 re im) 3/2) (sqrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (hypot.f64 re im) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (cbrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 re 4) (-.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))) (+.f64 (pow.f64 re 6) (pow.f64 im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (pow.f64 re 4) (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 re 4) (-.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 (pow.f64 re 4) (pow.f64 (*.f64 re im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (-.f64 (*.f64 re re) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6))) (neg.f64 (+.f64 (pow.f64 re 4) (-.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4))) (neg.f64 (-.f64 (*.f64 re re) (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 im 4) (pow.f64 re 4)) (-.f64 (*.f64 im im) (*.f64 re re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 re im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (hypot.f64 re im)) 6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 re im)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 3) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (+.f64 (pow.f64 re 4) (-.f64 (pow.f64 im 4) (pow.f64 (*.f64 re im) 2))) (+.f64 (pow.f64 re 6) (pow.f64 im 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (pow.f64 re 4) (pow.f64 im 4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 re im) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (hypot.f64 re im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 re im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re re))) (pow.f64 (exp.f64 im) im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 re re)) (+.f64 1 (expm1.f64 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re re))) (+.f64 1 (expm1.f64 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (exp.f64 (*.f64 re re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 im) im) (+.f64 1 (expm1.f64 (*.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (+.f64 1 (expm1.f64 (*.f64 re re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 re im) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 re im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 re im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 2 (log.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (hypot.f64 re im))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 re re (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 re re) 1 (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im im (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im im) 1 (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 re re) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 im im) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) re) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 re) re) (pow.f64 (cbrt.f64 re) 2) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 re) (pow.f64 re 3/2) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 im) (*.f64 im (sqrt.f64 im)) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 re 3/2) (sqrt.f64 re) (*.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 re re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 re (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (*.f64 im im))))))

simplify83.0ms (0.9%)

Algorithm
egg-herbie
Rules
739×fma-def_binary64
660×associate-*r*_binary64
608×associate-*l*_binary64
319×unswap-sqr_binary64
280×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01511595
14531494
214321438
366081438
Stop Event
node limit
Counts
252 → 250
Calls
Call 1
Inputs
im
(+.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)))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1 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 -1/2 (/.f64 (pow.f64 im 2) re)))))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 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 -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)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 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 -1 im)))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
im
(+.f64 re im)
(+.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 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.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 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 re im)
(+.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 -1 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 re 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
Outputs
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)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 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)))
(fma.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)))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (/.f64 (*.f64 im im) re) re)
(fma.f64 1/2 (/.f64 im (/.f64 re im)) re)
(fma.f64 1/2 (*.f64 (/.f64 im re) im) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.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)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re)))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.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)) re)))
(*.f64 -1 re)
(neg.f64 re)
(+.f64 (*.f64 -1 re) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(fma.f64 -1 re (*.f64 (/.f64 (*.f64 im im) re) -1/2))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (neg.f64 re))
(-.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) re)
(+.f64 (*.f64 -1 re) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(fma.f64 -1 re (fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 (*.f64 im im) re) -1/2)))
(-.f64 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8)) re)
(-.f64 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) re)
(-.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(+.f64 (*.f64 -1 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 -1/2 (/.f64 (pow.f64 im 2) re)))))
(fma.f64 -1 re (fma.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 (/.f64 (*.f64 im im) re) -1/2))))
(-.f64 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))) re)
(-.f64 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))) re)
(-.f64 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) re))
re
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (/.f64 (*.f64 im im) re) re)
(fma.f64 1/2 (/.f64 im (/.f64 re im)) re)
(fma.f64 1/2 (*.f64 (/.f64 im re) im) re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (fma.f64 1/2 (/.f64 (*.f64 im im) re) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 re (*.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)) (+.f64 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) re)))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.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)) 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)
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) im))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 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)))
(fma.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)))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) im)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(fma.f64 (/.f64 (*.f64 re re) im) -1/2 (neg.f64 im))
(-.f64 (*.f64 (/.f64 -1/2 im) (*.f64 re re)) im)
(-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) 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 -1 im)))
(fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 (*.f64 re re) im) -1/2 (neg.f64 im)))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 (*.f64 (/.f64 -1/2 im) (*.f64 re re)) im))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im))
(+.f64 (*.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 -1/16 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) (fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(fma.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 (*.f64 re re) im) -1/2 (neg.f64 im))))
(fma.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 (*.f64 (/.f64 -1/2 im) (*.f64 re re)) im)))
(fma.f64 (/.f64 (pow.f64 re 6) (pow.f64 im 5)) -1/16 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im)))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 (*.f64 re re) im) re))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (+.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)))
(fma.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 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im)) re)
(+.f64 re (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) im)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.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)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.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 2))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(/.f64 -1/2 (/.f64 re (*.f64 im im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 (*.f64 im im) re) -1/2))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.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 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 -1/2 (/.f64 (pow.f64 im 2) re))))
(fma.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 (/.f64 (*.f64 im im) re) -1/2)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(fma.f64 (*.f64 (/.f64 im re) im) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)) (fma.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 1/2 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (pow.f64 re 7)) (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(fma.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)) (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.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)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (/.f64 -1/8 (/.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.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 2))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 (*.f64 re re) im) re))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (+.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)))
(fma.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 (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) im)) re)
(+.f64 re (fma.f64 1/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) im)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(-.f64 re im)
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(+.f64 re (fma.f64 (/.f64 (*.f64 re re) im) -1/2 (neg.f64 im)))
(fma.f64 (/.f64 re (/.f64 im re)) -1/2 (-.f64 re im))
(fma.f64 (/.f64 -1/2 im) (*.f64 re re) (-.f64 re im))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(+.f64 re (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 (*.f64 re re) im) -1/2 (neg.f64 im))))
(-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 re)) im)
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 -1/2 im) (*.f64 re re) (-.f64 re im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2)))))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im))))) re)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (fma.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2))))) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/4)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im))))) re))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 -1/4 (pow.f64 re 3)) (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im))))) (sqrt.f64 im))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(fma.f64 2 (sqrt.f64 re) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 im))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(fma.f64 2 (sqrt.f64 re) (fma.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 im)))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 4)) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (*.f64 (*.f64 1/2 (pow.f64 im 6)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re))))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (*.f64 1/2 (pow.f64 im 6)))) (fma.f64 2 (sqrt.f64 re) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 im)))))
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(pow.f64 re 2)
(*.f64 re re)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))
(+.f64 (pow.f64 re 2) (pow.f64 im 2))
(+.f64 (*.f64 re re) (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 re re (*.f64 im im))

eval158.0ms (1.8%)

Compiler

Compiled 7839 to 5222 computations (33.4% saved)

prune81.0ms (0.9%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New38114395
Fresh000
Picked101
Done011
Total38215397
Error
4.8b
Counts
397 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
46.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
14.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
45.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
60.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
28.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2)))))
57.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
43.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
16.7b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
Compiler

Compiled 368 to 285 computations (22.6% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.0b
(sqrt.f64 (+.f64 re (hypot.f64 re im)))
0.3b
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
1.1b
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 42 to 17 computations (59.5% saved)

series9.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

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

rewrite64.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
923×pow1_binary64
857×add-log-exp_binary64
856×log1p-expm1-u_binary64
856×expm1-log1p-u_binary64
837×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (0.7%)

Algorithm
egg-herbie
Rules
597×associate-*r*_binary64
558×associate-*l*_binary64
554×fma-def_binary64
361×associate-/l/_binary64
358×associate-/r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0106926
1315836
2993762
35051702
Stop Event
node limit
Counts
54 → 67
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 (*.f64 1/2 (sqrt.f64 2)) re))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (+.f64 re (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))))) 1/2))))
(*.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 re (*.f64 re (*.f64 re (*.f64 (/.f64 1 im) 1/4))))) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))) (fma.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 (*.f64 1/2 (sqrt.f64 2)) re)))) (*.f64 -1/4 (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))) (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/4 (pow.f64 re 3)))))))
(*.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 re (*.f64 re (*.f64 re (*.f64 (/.f64 1 im) 1/4))))) (fma.f64 (*.f64 (/.f64 1 im) 1/4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/4 (pow.f64 re 3))) (sqrt.f64 im))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 2 (sqrt.f64 re) (*.f64 im (*.f64 im (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 -1/2 (pow.f64 im 4))))))
(fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 -1/2 (pow.f64 im 4))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2))) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2)) (*.f64 re re)))) (pow.f64 im 6))))) (fma.f64 2 (sqrt.f64 re) (*.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (pow.f64 im 4)) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (*.f64 1/2 (pow.f64 im 6)))) (*.f64 2 (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) (pow.f64 im 4)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))) (*.f64 re re)))) (*.f64 1/2 (pow.f64 im 6)))) (*.f64 2 (sqrt.f64 re))))
(sqrt.f64 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 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (*.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 re (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))) (sqrt.f64 im))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 re (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))))) (sqrt.f64 im))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 re (*.f64 re (*.f64 re (*.f64 (/.f64 1 im) 1/4))))) (sqrt.f64 im))
(+.f64 (*.f64 -1/4 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 -1/4 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (sqrt.f64 im) (*.f64 1/2 (+.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)))))))
(fma.f64 -1/4 (*.f64 (pow.f64 re 3) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 re (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))) (sqrt.f64 im)))
(+.f64 (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/4 (pow.f64 re 3))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 re (*.f64 re (*.f64 re (*.f64 (/.f64 1 im) 1/4))))) (fma.f64 (*.f64 (/.f64 1 im) 1/4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/4 (pow.f64 re 3))) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (sqrt.f64 2)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (sqrt.f64 2) im)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 im (sqrt.f64 2)) im))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 2))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (sqrt.f64 2) (pow.f64 im 4)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (sqrt.f64 2))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (sqrt.f64 2) im))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2)) (sqrt.f64 2)) (pow.f64 im 4))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 im (sqrt.f64 2)) im)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 -1/2 (pow.f64 im 4)))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (sqrt.f64 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 -1/2 (pow.f64 im 4))) (sqrt.f64 2)) (*.f64 (/.f64 1 (pow.f64 re 3)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 re)))) (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (fma.f64 1/2 (/.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 2)) (fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (sqrt.f64 2) (pow.f64 im 4)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (sqrt.f64 2)))))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2)) (*.f64 re re)))) (sqrt.f64 2)) (pow.f64 im 6))) (*.f64 -1/2 (*.f64 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2)) (sqrt.f64 2)) (pow.f64 im 4))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (sqrt.f64 2) im))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 1/2 (*.f64 (pow.f64 im 6) (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (sqrt.f64 2))) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (sqrt.f64 2))))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (/.f64 im (sqrt.f64 2)) im)))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 im 6) (sqrt.f64 2)) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))) (*.f64 re re))))) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (/.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))) (sqrt.f64 2))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 2)))))

localize10.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (+.f64 re im)))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series5.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite53.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
812×pow1_binary64
759×add-log-exp_binary64
758×log1p-expm1-u_binary64
758×expm1-log1p-u_binary64
743×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify138.0ms (1.6%)

Algorithm
egg-herbie
Rules
650×associate-/r*_binary64
634×sqr-pow_binary64
449×*-commutative_binary64
439×distribute-lft-out_binary64
408×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060304
1159304
2439284
31572256
42629256
53622256
65357256
75745256
86164256
96467256
106875256
117519256
Stop Event
node limit
Counts
30 → 36
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.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 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 1/2 re) (sqrt.f64 2))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 1/2 re) (sqrt.f64 2)))))
(fma.f64 (sqrt.f64 2) (*.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 -1/8 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.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))))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (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)))))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))) (*.f64 (*.f64 re re) (+.f64 (*.f64 1/16 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 -1/8 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/16 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 1/16 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 -1/8 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (pow.f64 re 3))) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 -1/8 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/8 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 (*.f64 im im))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (+.f64 (*.f64 -1/8 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 -1/8 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))))
(fma.f64 -1/8 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 (*.f64 im im))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/16)))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/16))) (*.f64 im (+.f64 (*.f64 -1/8 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/16 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
0.0b
(*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))
0.1b
(*.f64 (/.f64 im re) im)
16.8b
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2)))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series13.0ms (0.2%)

Counts
4 → 72
Calls

24 calls:

TimeVariablePointExpression
1.0ms
im
@0
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2)))
1.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2)))
1.0ms
re
@0
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2)))
1.0ms
re
@inf
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2)))
1.0ms
im
@inf
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2)))

rewrite90.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
621×log-prod_binary64
455×exp-prod_binary64
341×pow-prod-down_binary64
298×pow2_binary64
274×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify83.0ms (0.9%)

Algorithm
egg-herbie
Rules
983×fma-def_binary64
542×associate-*l*_binary64
497×distribute-rgt-neg-in_binary64
486×distribute-lft-neg-in_binary64
357×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
019764
143764
2114764
3300764
4706764
52232764
63757764
76226764
Stop Event
node limit
Counts
200 → 140
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (*.f64 im 1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im 1/2)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) -1/2)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) -1/2)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) -1/2)))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 -1) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2)))
(*.f64 (sqrt.f64 -1) (*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) -1/2)))

localize23.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))
0.1b
(*.f64 (/.f64 im re) im)
6.9b
(sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))))
Compiler

Compiled 67 to 34 computations (49.3% saved)

series11.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
4.0ms
im
@0
(sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))))
1.0ms
im
@inf
(sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))))
1.0ms
re
@0
(sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))))
1.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))))
1.0ms
im
@-inf
(sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2))))

rewrite76.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
555×log-prod_binary64
419×exp-prod_binary64
325×pow-prod-down_binary64
280×pow2_binary64
204×pow-unpow_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify76.0ms (0.9%)

Algorithm
egg-herbie
Rules
578×fma-neg_binary64
463×distribute-neg-frac_binary64
362×associate-/l/_binary64
357×cancel-sign-sub-inv_binary64
331×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085919
1236881
2775834
33867824
46747824
Stop Event
node limit
Counts
110 → 103
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
Outputs
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (*.f64 im im))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4))))
(fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (/.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) -64)))
(fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/64 (pow.f64 im 4)))))
(+.f64 (*.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) 4) (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))))
(+.f64 (fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (/.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) -64))) (/.f64 (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) 512))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) (*.f64 1/512 (pow.f64 im 6)) (fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/64 (pow.f64 im 4))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/64 (pow.f64 im 4)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) (*.f64 1/512 (pow.f64 im 6)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (pow.f64 re 3/2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 2)))
(fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (pow.f64 re 7)) (/.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))) (pow.f64 im 3)))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2) (*.f64 (pow.f64 re 7/2) (*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))))))
(-.f64 (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (pow.f64 re 3/2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 2))) (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))))
(-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2))) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 im 3) (pow.f64 re 7/2)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (pow.f64 re 7)) (/.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))) (pow.f64 im 3))))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (pow.f64 re 11/2)) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2) (*.f64 (pow.f64 re 7/2) (*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))))))))
(fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 re 11/2)) (pow.f64 (sqrt.f64 1/2) 5))) (-.f64 (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (pow.f64 re 3/2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 2))) (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))))))
(-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 re 11/2)) (pow.f64 (sqrt.f64 1/2) 5))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2)))) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 im 3) (pow.f64 re 7/2)))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (neg.f64 im))))
(*.f64 im (neg.f64 (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(neg.f64 (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)))))
(neg.f64 (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2)))))
(neg.f64 (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (pow.f64 re 3/2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 2))))
(neg.f64 (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(-.f64 (fma.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))))
(-.f64 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2)))))
(-.f64 (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (pow.f64 re 3/2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 2))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 im 3) (pow.f64 re 7/2)))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (-.f64 (fma.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (pow.f64 re 11/2)) (-.f64 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2))))))
(fma.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 re 11/2)) (pow.f64 (sqrt.f64 1/2) 5))) (-.f64 (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (*.f64 (/.f64 (pow.f64 re 3/2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 2)))))
(-.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (/.f64 (pow.f64 im 3) (pow.f64 re 7/2)))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (/.f64 (pow.f64 im 5) (pow.f64 re 11/2)) (pow.f64 (sqrt.f64 1/2) 5))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2)))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(*.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 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(*.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 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(*.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 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))

eval255.0ms (2.9%)

Compiler

Compiled 9813 to 6797 computations (30.7% saved)

prune84.0ms (0.9%)

Pruning

15 alts after pruning (11 fresh and 4 done)

PrunedKeptTotal
New4855490
Fresh369
Picked101
Done145
Total49015505
Error
4.7b
Counts
505 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
46.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
14.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
45.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
57.3b
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
28.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
16.7b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re))))))
43.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
Compiler

Compiled 335 to 254 computations (24.2% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (hypot.f64 re im))
0.0b
(hypot.f64 re im)
0.0b
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)))
14.7b
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
Compiler

Compiled 63 to 17 computations (73% saved)

series16.0ms (0.2%)

Counts
3 → 26
Calls

18 calls:

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

rewrite68.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
774×pow1_binary64
711×add-log-exp_binary64
711×log1p-expm1-u_binary64
711×expm1-log1p-u_binary64
693×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
118025
2200625
Stop Event
node limit
Counts
3 → 63
Calls
Call 1
Inputs
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)))
(sqrt.f64 (hypot.f64 re im))
Outputs
((#(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 (+.f64 1 (+.f64 re (hypot.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 re (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.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 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 re (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2) 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (hypot.f64 re im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) (cbrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (hypot.f64 re im)) (cbrt.f64 (sqrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (hypot.f64 re im) 1/4) (pow.f64 (hypot.f64 re im) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 re im) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (hypot.f64 re im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (hypot.f64 re im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 re im) 2) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (hypot.f64 re im)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 re im) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (hypot.f64 re im))))))))

simplify74.0ms (0.8%)

Algorithm
egg-herbie
Rules
814×fma-def_binary64
380×*-commutative_binary64
324×cancel-sign-sub-inv_binary64
251×distribute-rgt-in_binary64
248×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01491197
14681131
21632944
36343872
Stop Event
node limit
Counts
89 → 108
Calls
Call 1
Inputs
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (/.f64 1 (pow.f64 im 3))))) im)))
re
re
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)) (*.f64 2 re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)) (*.f64 2 re))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 1/4 (/.f64 (-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 im 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3)))) (pow.f64 im 2)))) (pow.f64 re 6)) (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im)))))))
(sqrt.f64 re)
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 re 2)))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re))))
Outputs
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re))
(+.f64 re (fma.f64 1/2 (*.f64 (/.f64 re im) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re (+.f64 (*.f64 (pow.f64 re 4) (+.f64 (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/16 (/.f64 1 (pow.f64 im 3))))) im)))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 re (fma.f64 (pow.f64 re 4) (fma.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))) (/.f64 1/16 (pow.f64 im 3))) im)))
(+.f64 (fma.f64 (pow.f64 re 4) (-.f64 (/.f64 1/16 (pow.f64 im 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3)))) im) (fma.f64 1/2 (/.f64 re (/.f64 im re)) re))
(+.f64 (fma.f64 (pow.f64 re 4) (fma.f64 -1 (/.f64 1/16 (pow.f64 im 3)) (neg.f64 (/.f64 1/16 (pow.f64 im 3)))) im) (fma.f64 1/2 (*.f64 (/.f64 re im) re) re))
(+.f64 (fma.f64 (pow.f64 re 4) (/.f64 -1/8 (pow.f64 im 3)) im) (fma.f64 1/2 (*.f64 (/.f64 re im) re) re))
re
re
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2))
(fma.f64 re 2 (*.f64 (/.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)) (*.f64 2 re)))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (pow.f64 im 4) (*.f64 re 2)))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 re 2 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 im 4))))
(fma.f64 (fma.f64 -1 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 im 4) (fma.f64 re 2 (*.f64 (/.f64 1/2 re) (*.f64 im im))))
(fma.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4) (fma.f64 re 2 (*.f64 (/.f64 1/2 re) (*.f64 im im))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 im 4)) (*.f64 2 re))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))))) (pow.f64 im 4) (*.f64 re 2))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 im 4)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 (fma.f64 -1 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 im 4) (fma.f64 re 2 (*.f64 (pow.f64 im 6) (/.f64 1/16 (pow.f64 re 5))))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 im 4) (fma.f64 re 2 (*.f64 (pow.f64 im 6) (/.f64 1/16 (pow.f64 re 5))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 2)) re) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2)))))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) re)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2))))) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/4)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) re))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))))))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (-.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/2 (*.f64 (-.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 2 (sqrt.f64 re))))
(fma.f64 (-.f64 (fma.f64 -1 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re))))
(fma.f64 (-.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 1/4 (/.f64 (-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (+.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 3))) (*.f64 -1 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/4 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (-.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2))) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (-.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (pow.f64 im 6) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (-.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/2 (*.f64 (-.f64 (-.f64 (/.f64 1/16 (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 2 (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (-.f64 (fma.f64 -1 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))))) (fma.f64 (-.f64 (fma.f64 -1 (/.f64 1/16 (pow.f64 re 3)) (neg.f64 (/.f64 1/16 (pow.f64 re 3)))) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re)))))
(fma.f64 1/2 (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (-.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))))) (fma.f64 (-.f64 (/.f64 -1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (sqrt.f64 im) (*.f64 1/4 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(fma.f64 1/4 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/4 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))))))))
(+.f64 (fma.f64 1/4 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im)) (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3)))) (*.f64 (sqrt.f64 (/.f64 1 im)) -1/2)))
(fma.f64 (*.f64 re re) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 im 3)) (/.f64 1/8 (pow.f64 im 3))) (*.f64 (pow.f64 re 4) (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 im)))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 im 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3)))) (pow.f64 im 2)))) (pow.f64 re 6)) (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 im)))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/4 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 im 5)) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))) (*.f64 im im)))) (pow.f64 re 6))) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3)))))))))
(+.f64 (fma.f64 1/4 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 4) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))))) (*.f64 (*.f64 1/2 (pow.f64 re 6)) (+.f64 (/.f64 1/16 (pow.f64 im 5)) (*.f64 1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2) (/.f64 1/8 (pow.f64 im 3))) (*.f64 im im))))))))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (fma.f64 1/2 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 im 5)) (/.f64 (fma.f64 (/.f64 1/16 (pow.f64 im 3)) -1/4 (/.f64 -1/32 (pow.f64 im 3))) (*.f64 im im))) (pow.f64 re 6)) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 im 3)) (/.f64 1/8 (pow.f64 im 3))) -1/2))) (fma.f64 1/4 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im)))
(sqrt.f64 re)
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (sqrt.f64 re))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/8 (/.f64 1 (pow.f64 re 3)))) (pow.f64 re 2)))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/4 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) (*.f64 re re)))))) (sqrt.f64 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 4)) (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3)))) (*.f64 (*.f64 1/2 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 (/.f64 -1/4 re) (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/8 (pow.f64 re 3))) re)))) (pow.f64 im 6)))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 3)) (/.f64 1/8 (pow.f64 re 3))) (pow.f64 im 4)) (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (/.f64 (fma.f64 (/.f64 1/16 (pow.f64 re 3)) -1/4 (/.f64 -1/32 (pow.f64 re 3))) (*.f64 re re))) (*.f64 1/2 (pow.f64 im 6)))) (fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 re)))

localize10.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (*.f64 2 (-.f64 re im)))
Compiler

Compiled 28 to 15 computations (46.4% saved)

series5.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite66.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
778×pow1_binary64
726×add-log-exp_binary64
725×log1p-expm1-u_binary64
725×expm1-log1p-u_binary64
710×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (0.6%)

Algorithm
egg-herbie
Rules
671×associate-/r*_binary64
651×associate-*l/_binary64
601×distribute-rgt-out_binary64
590×associate-/r/_binary64
523×associate-*r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
070363
1185363
2561347
32391323
46435319
Stop Event
node limit
Counts
30 → 37
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 -1)))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (/.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 -1))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 re re))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 re re) -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (*.f64 re re) (/.f64 (sqrt.f64 -1) (sqrt.f64 2)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 -1))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (/.f64 re -1) re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im))) (fma.f64 1/16 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 re re))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5)) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 -1/8 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 re re) -1)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 (*.f64 (pow.f64 re 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (*.f64 re re) (/.f64 (sqrt.f64 -1) (sqrt.f64 2)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (/.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))) (sqrt.f64 -1)))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (/.f64 re -1) re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (/.f64 re -1) re) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (/.f64 (*.f64 (pow.f64 re 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (pow.f64 (sqrt.f64 -1) 5)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) im)))
(+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re))))
(fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8)))))
(+.f64 (*.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(fma.f64 -1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(fma.f64 -1/16 (*.f64 (pow.f64 im 3) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 im (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8))) (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/16)))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 re) (*.f64 im (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/16))))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
9.2b
(/.f64 (*.f64 im im) re)
16.9b
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
Compiler

Compiled 40 to 17 computations (57.5% saved)

series9.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
4.0ms
re
@0
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
1.0ms
im
@0
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
1.0ms
re
@inf
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
1.0ms
im
@inf
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
0.0ms
re
@-inf
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))

rewrite61.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
894×pow1_binary64
834×add-log-exp_binary64
834×log1p-expm1-u_binary64
834×expm1-log1p-u_binary64
815×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify94.0ms (1.1%)

Algorithm
egg-herbie
Rules
650×fma-neg_binary64
645×fma-def_binary64
570×associate-*r/_binary64
488×associate-/l/_binary64
396×associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015344
129344
266344
3154344
4345344
51047344
61997344
74731344
85531344
96324344
107606344
Stop Event
node limit
Counts
106 → 76
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
Outputs
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1/4) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))

localize25.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))
0.1b
(*.f64 (*.f64 1/2 im) (/.f64 im re))
6.9b
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))))
Compiler

Compiled 76 to 37 computations (51.3% saved)

series8.0ms (0.1%)

Counts
3 → 60
Calls

18 calls:

TimeVariablePointExpression
2.0ms
im
@inf
(*.f64 (*.f64 1/2 im) (/.f64 im re))
1.0ms
re
@inf
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))))
1.0ms
re
@-inf
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))))
1.0ms
re
@0
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))))
0.0ms
im
@inf
(sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))))

rewrite81.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
923×fma-def_binary64
676×log-prod_binary64
454×fma-neg_binary64
227×expm1-udef_binary64
227×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify82.0ms (0.9%)

Algorithm
egg-herbie
Rules
578×fma-neg_binary64
463×distribute-neg-frac_binary64
362×associate-/l/_binary64
357×cancel-sign-sub-inv_binary64
331×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851159
12361121
27751074
338701064
467501064
Stop Event
node limit
Counts
228 → 197
Calls
Call 1
Inputs
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (/.f64 (pow.f64 im 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 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
Outputs
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (*.f64 im im))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4))))
(fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (/.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) -64)))
(fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/64 (pow.f64 im 4)))))
(+.f64 (*.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (+.f64 (*.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 (sqrt.f64 2) 4)) (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/128 (*.f64 (/.f64 (pow.f64 im 6) 4) (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (fma.f64 -1/32 (*.f64 (/.f64 (pow.f64 im 4) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))))
(+.f64 (fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (/.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) -64))) (/.f64 (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) 512))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) (*.f64 1/512 (pow.f64 im 6)) (fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/64 (pow.f64 im 4))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -1/64 (pow.f64 im 4)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) (*.f64 1/512 (pow.f64 im 6)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 1/2) (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2))))
(fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2)))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (pow.f64 re 7)) (/.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))) (pow.f64 im 3)))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2) (*.f64 (pow.f64 re 7/2) (*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))))))
(-.f64 (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2)))) (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))))
(-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))))
(+.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (pow.f64 re 7)) (/.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 2) (*.f64 1/2 (sqrt.f64 1/2)))) (pow.f64 im 3))))))
(fma.f64 1/2 (/.f64 (*.f64 (pow.f64 re 11/2) (/.f64 (sqrt.f64 2) (pow.f64 im 5))) (pow.f64 (sqrt.f64 1/2) 5)) (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2) (*.f64 (pow.f64 re 7/2) (*.f64 -1 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))))))))
(fma.f64 1/2 (/.f64 (*.f64 (pow.f64 re 11/2) (/.f64 (sqrt.f64 2) (pow.f64 im 5))) (pow.f64 (sqrt.f64 1/2) 5)) (-.f64 (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2)))) (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))))))
(-.f64 (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (/.f64 (pow.f64 im 5) (pow.f64 re 11/2)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2)))) (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 im (sqrt.f64 1/2)))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 1/2) (neg.f64 im))))
(*.f64 (sqrt.f64 1/2) (neg.f64 (*.f64 im (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 -1 (fma.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))
(neg.f64 (fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)))))
(neg.f64 (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2)))))
(neg.f64 (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2))))
(+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re)))))))
(-.f64 (fma.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))))
(-.f64 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2)))))
(-.f64 (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2)))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11)))) (+.f64 (*.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (pow.f64 re 3)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (fma.f64 -1 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7))) (neg.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))))))))
(fma.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (pow.f64 im 5))) (sqrt.f64 (pow.f64 re 11))) (-.f64 (fma.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3))) (sqrt.f64 (pow.f64 re 7)) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 re))))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (pow.f64 re 3)))))
(fma.f64 -1/2 (/.f64 (*.f64 (pow.f64 re 11/2) (/.f64 (sqrt.f64 2) (pow.f64 im 5))) (pow.f64 (sqrt.f64 1/2) 5)) (-.f64 (*.f64 1 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2))))))
(fma.f64 -1/2 (/.f64 (*.f64 (pow.f64 re 11/2) (/.f64 (sqrt.f64 2) (pow.f64 im 5))) (pow.f64 (sqrt.f64 1/2) 5)) (-.f64 (*.f64 (pow.f64 re 7/2) (/.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3)))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (sqrt.f64 (/.f64 1 re)) (/.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 1/2)) (/.f64 im (pow.f64 re 3/2))))))
(-.f64 (/.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 7/2)) (*.f64 (sqrt.f64 1/2) (pow.f64 im 3))) (fma.f64 (sqrt.f64 2) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 (/.f64 1 re))) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (*.f64 (pow.f64 (sqrt.f64 1/2) 5) (/.f64 (pow.f64 im 5) (pow.f64 re 11/2)))) (*.f64 (/.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 1/2))) (pow.f64 re 3/2)))))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(*.f64 1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 1/2 (*.f64 im im)) re)
(*.f64 1/2 (/.f64 im (/.f64 re im)))
(*.f64 1/2 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 (*.f64 im 1/2) re) im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 2 re))
(fma.f64 2 re (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 2 re (*.f64 1/2 (*.f64 (/.f64 im re) im)))
(fma.f64 2 re (*.f64 (/.f64 (*.f64 im 1/2) re) im))

eval221.0ms (2.5%)

Compiler

Compiled 11977 to 7567 computations (36.8% saved)

prune94.0ms (1.1%)

Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New5392541
Fresh066
Picked011
Done088
Total53917556
Error
4.7b
Counts
556 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
46.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
14.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
45.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
57.3b
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
28.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
16.7b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re))))))
43.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
62.2b
(*.f64 1/2 (hypot.f64 (+.f64 re re) (sqrt.f64 (*.f64 im (/.f64 im re)))))
62.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (+.f64 re re) re (*.f64 1/2 (*.f64 im (/.f64 im re)))))))
Compiler

Compiled 336 to 251 computations (25.3% saved)

localize26.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.6b
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
1.1b
(+.f64 re (hypot.f64 re im))
3.3b
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)
Compiler

Compiled 56 to 28 computations (50% saved)

series36.0ms (0.4%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
7.0ms
re
@-inf
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)
6.0ms
re
@inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
4.0ms
re
@-inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
4.0ms
im
@inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
2.0ms
im
@-inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)

rewrite64.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
506×prod-diff_binary64
488×log-prod_binary64
293×pow-prod-down_binary64
287×pow2_binary64
214×pow-to-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01126
125025
2297925
Stop Event
node limit
Counts
2 → 56
Calls
Call 1
Inputs
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/18) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6) (pow.f64 2 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/6) (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/12) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/18)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/12 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/2))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/18) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6) (*.f64 (pow.f64 2 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/12) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 5/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 5/12) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/18))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6)) (pow.f64 2 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4)) 2))))))

simplify130.0ms (1.5%)

Algorithm
egg-herbie
Rules
575×fma-def_binary64
545×associate-*r*_binary64
454×associate-*l*_binary64
375×*-commutative_binary64
365×associate-+r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05275935
117224918
271694533
Stop Event
node limit
Counts
104 → 149
Calls
Call 1
Inputs
(pow.f64 (*.f64 2 im) 1/6)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (pow.f64 (*.f64 2 im) 1/6))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (pow.f64 (*.f64 2 im) 1/6)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (+.f64 (pow.f64 (*.f64 2 im) 1/6) (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6) (pow.f64 re 3))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(pow.f64 (*.f64 4 re) 1/6)
(+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2)))))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 667/82944 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/3 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) re) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/3 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) re) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/72 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/9 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/3 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) re) (+.f64 (*.f64 (+.f64 (*.f64 1/108 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (+.f64 (*.f64 1/216 (pow.f64 (/.f64 2 (pow.f64 im 8)) 1/3)) (*.f64 -35/648 (pow.f64 (/.f64 2 (pow.f64 im 8)) 1/3))) (pow.f64 (*.f64 2 im) 1/6)) (+.f64 (*.f64 1/216 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -35/1296 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))) (pow.f64 re 3)) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/72 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/9 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3)
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 4)) (pow.f64 re 4))) (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3)) (pow.f64 re 4)))))))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/12 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3)) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)))) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2))) (pow.f64 re 6))) (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 4)) (pow.f64 re 4))))))))))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4))))) (pow.f64 re 4)) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)))))))
(+.f64 (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4)))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))))) (*.f64 -1/12 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4))))) (pow.f64 re 4)))))))))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/6 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (pow.f64 im 2)) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/6 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (pow.f64 im 2)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (+.f64 (*.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (+.f64 (*.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 -17/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)) (*.f64 1/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)))) (*.f64 -17/576 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))) (pow.f64 im 4))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/6 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (pow.f64 im 2)) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (+.f64 (*.f64 -17/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)) (*.f64 1/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3))))) (+.f64 (*.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 -17/13824 (pow.f64 (/.f64 4 (pow.f64 re 17)) 1/3)) (*.f64 667/41472 (pow.f64 (/.f64 4 (pow.f64 re 17)) 1/3)))) (+.f64 (*.f64 -17/6912 (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (*.f64 667/41472 (sqrt.f64 (/.f64 1 (pow.f64 re 11))))))) (pow.f64 im 6)) (*.f64 (+.f64 (*.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (+.f64 (*.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 -17/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)) (*.f64 1/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)))) (*.f64 -17/576 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))) (pow.f64 im 4)))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(+.f64 (*.f64 1/3 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3) (*.f64 1/6 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im))))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2)) (+.f64 (*.f64 1/18 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2))) (*.f64 1/6 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 1/3 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)))) (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))) (pow.f64 im 3))) (+.f64 (*.f64 1/18 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3))) (pow.f64 im 3))))))))))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (*.f64 -1 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re)) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re))) im)))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re)) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re))) im)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (*.f64 1/18 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (pow.f64 re 2)) (pow.f64 im 2)))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re)) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re))) im)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))))) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 re (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))) (+.f64 (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3)) (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re)))))) (pow.f64 im 3))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (*.f64 1/18 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (pow.f64 re 2)) (pow.f64 im 2))))))))
Outputs
(pow.f64 (*.f64 2 im) 1/6)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (pow.f64 (*.f64 2 im) 1/6))
(fma.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re) (pow.f64 (*.f64 2 im) 1/6))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (pow.f64 (*.f64 2 im) 1/6)))
(fma.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re) (fma.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (*.f64 re re)) (pow.f64 (*.f64 2 im) 1/6)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (+.f64 (pow.f64 (*.f64 2 im) 1/6) (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6) (pow.f64 re 3))))))
(fma.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re) (fma.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (*.f64 re re)) (+.f64 (pow.f64 (*.f64 2 im) 1/6) (*.f64 (*.f64 -35/1296 (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6)) (pow.f64 re 3)))))
(fma.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re) (fma.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (*.f64 re re)) (fma.f64 -35/1296 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6) (pow.f64 re 3)) (pow.f64 (*.f64 2 im) 1/6))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))
(fma.f64 1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) re) (/.f64 (*.f64 im im) re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) re) (/.f64 (*.f64 im im) re)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4))))
(+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) re) (/.f64 (*.f64 im im) re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) re) (/.f64 (*.f64 im im) re)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))) (*.f64 (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)))))
(fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152))))) (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))))))
(+.f64 (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) re) (/.f64 (*.f64 im im) re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))) (*.f64 (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 re 6)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))))
(+.f64 (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) re) (/.f64 (*.f64 im im) re)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))) (*.f64 (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))) (*.f64 (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 re 6)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (*.f64 -1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) re)) (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (*.f64 -1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) re)) (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(+.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (*.f64 -1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))) (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)))))) (pow.f64 re 6)))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 -720 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64))) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) re)) (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 -720 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64))) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))))))
(pow.f64 (*.f64 4 re) 1/6)
(pow.f64 (*.f64 re 4) 1/6)
(+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))
(+.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6))))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6)) (pow.f64 (*.f64 re 4) 1/6))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2)))))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (+.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6)))))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6)) (pow.f64 (*.f64 re 4) 1/6)))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 667/82944 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (+.f64 (pow.f64 (*.f64 re 4) 1/6) (fma.f64 667/82944 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6)) (*.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6))))))
(+.f64 (fma.f64 667/82944 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6)) (*.f64 (*.f64 im im) (*.f64 1/24 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6)))) (fma.f64 (*.f64 -17/1152 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (pow.f64 im 4) (pow.f64 (*.f64 re 4) 1/6)))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 1/6 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))))
(+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) im) (/.f64 (fma.f64 1/72 (*.f64 re re) 0) im)))
(+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))) (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) im) (/.f64 (*.f64 re (*.f64 re 1/72)) im)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(+.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (fma.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (*.f64 (pow.f64 re 3) 1/1296))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))))
(+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) im) (/.f64 (fma.f64 1/72 (*.f64 re re) 0) im)) (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))))))
(+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) im) (/.f64 (*.f64 re (*.f64 re 1/72)) im)) (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 0)) (pow.f64 im 3)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))
(fma.f64 -1/6 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 -1/6 (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im) re) (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2))))
(+.f64 (fma.f64 -1/6 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))))
(+.f64 (fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (*.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) 0) im) (/.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im)))
(+.f64 (fma.f64 -1/6 (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im) re) (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6))) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) im) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)))))
(fma.f64 -1/6 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (fma.f64 -1 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (pow.f64 im 3) (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (*.f64 (pow.f64 re 3) 1/1296))))) (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))))))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) re) (-.f64 (+.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) 0) im) (/.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 re 0))))))
(-.f64 (+.f64 (fma.f64 -1/6 (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im) re) (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6))) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) im) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im))) (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) (pow.f64 im 3)) (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 0))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/3 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) re) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) 1/2) re (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 re (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/3 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) re) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/72 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/9 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) 1/2) re (fma.f64 (*.f64 re re) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 re (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) 1/8)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/6 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/3 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))) re) (+.f64 (*.f64 (+.f64 (*.f64 1/108 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (+.f64 (*.f64 1/216 (pow.f64 (/.f64 2 (pow.f64 im 8)) 1/3)) (*.f64 -35/648 (pow.f64 (/.f64 2 (pow.f64 im 8)) 1/3))) (pow.f64 (*.f64 2 im) 1/6)) (+.f64 (*.f64 1/216 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -35/1296 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))) (pow.f64 re 3)) (+.f64 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 1/72 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 1/9 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) 1/2) re (fma.f64 (fma.f64 1/108 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (*.f64 (cbrt.f64 (/.f64 2 (pow.f64 im 8))) -4/81) (pow.f64 (*.f64 2 im) 1/6) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -29/1296))) (pow.f64 re 3) (fma.f64 (*.f64 re re) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 re (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)) (fma.f64 (pow.f64 re 3) (fma.f64 1/108 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (pow.f64 (*.f64 2 im) 1/6) (*.f64 (cbrt.f64 (/.f64 2 (pow.f64 im 8))) -4/81) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) -29/1296)))) (fma.f64 (*.f64 re re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) 1/8)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3)
(pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3)
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2)))))
(fma.f64 1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (*.f64 1/24 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (*.f64 re re) (*.f64 im im))))))
(fma.f64 1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (fma.f64 1/24 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3)))
(fma.f64 1/12 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (fma.f64 1/24 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3)))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 4)) (pow.f64 re 4))) (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3)) (pow.f64 re 4)))))))
(fma.f64 1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (fma.f64 1/24 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 1/288 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)))))))))
(+.f64 (+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3)) (fma.f64 1/288 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (pow.f64 re 4)) (pow.f64 im 4)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64))))) (fma.f64 1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (*.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 2)) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 2) 1/576))) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))))))
(+.f64 (+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3)) (fma.f64 1/288 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (pow.f64 re 4)) (pow.f64 im 4)) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64))))) (fma.f64 1/12 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (*.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 2)) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 2) 1/576))) (pow.f64 re 4)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)))))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/12 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3)) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)))) (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2))) (pow.f64 re 6))) (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 3) (pow.f64 im 4)) (pow.f64 re 4))))))))))))
(fma.f64 1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 6) (fma.f64 2 (*.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4))))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)) (*.f64 1/12 (*.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)) (*.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))))))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (+.f64 (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3))) (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)))) (fma.f64 1/24 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152))))) (+.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))) (fma.f64 1/24 (/.f64 (fma.f64 2 (*.f64 (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)))) (/.f64 (pow.f64 re 6) (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 im im)))) (*.f64 1/288 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 3) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))))))))))
(+.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 2)) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 2) 1/576))) (pow.f64 re 6)) (*.f64 im (*.f64 im (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))))) (/.f64 1/288 (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3))))) (fma.f64 1/12 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (pow.f64 re 6)) (*.f64 (*.f64 im im) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))) (*.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 2)) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 2) 1/576))) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))))))) (+.f64 (*.f64 (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 re 6)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3)) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))))) (fma.f64 1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3))) (*.f64 1/12 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) 3) (*.f64 (*.f64 im im) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))))) (pow.f64 re 6))))
(+.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 2)) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 2) 1/576))) (pow.f64 re 6)) (*.f64 im (*.f64 im (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))))) (/.f64 1/288 (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3))))) (fma.f64 1/12 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (pow.f64 re 6)) (*.f64 (*.f64 im im) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))) (*.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 2)) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 2) 1/576))) (pow.f64 re 4)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)))))) (+.f64 (*.f64 (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 re 6)) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3)) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))))) (fma.f64 1/12 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (*.f64 (/.f64 re im) (/.f64 re im))) (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3))) (*.f64 1/12 (*.f64 (pow.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) 3) (*.f64 (*.f64 im im) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))))) (pow.f64 re 6))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) -1/8))
(fma.f64 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) re)) -1/8 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))
(fma.f64 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) re)) -1/8 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))
(+.f64 (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4))))) (pow.f64 re 4)) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)))))))
(fma.f64 1/288 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (fma.f64 -1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 2 (*.f64 (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)))))) (fma.f64 -1/24 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))))))))))
(+.f64 (+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) re)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64))))) (fma.f64 -1/12 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) re)) (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)))) (pow.f64 re 4)))) (fma.f64 1/288 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)))
(+.f64 (+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) re)) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))) (fma.f64 -1/12 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) re)) (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3)))) (pow.f64 re 4)))) (fma.f64 1/288 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3)))
(+.f64 (*.f64 1/288 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4)))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 -1/12 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))))) (*.f64 -1/12 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (*.f64 1/576 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4))))) (pow.f64 re 4)))))))))))
(fma.f64 1/288 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (fma.f64 -1/24 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (*.f64 (*.f64 im im) (fma.f64 2 (*.f64 (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3)) (pow.f64 re 6)) (+.f64 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (*.f64 re re) (*.f64 im im))) -1/8) (fma.f64 -1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 2 (*.f64 (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 -1/12 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (*.f64 (*.f64 im im) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))))) (pow.f64 re 6)) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 2 (*.f64 (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)))))) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))))))))))
(+.f64 (+.f64 (fma.f64 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) re)) -1/8 (+.f64 (+.f64 (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)))) (pow.f64 re 4)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64))))) (fma.f64 -1/12 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64))))) (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 -720 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64))) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))) (*.f64 -1/12 (*.f64 (*.f64 im im) (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))))) (pow.f64 re 6))))) (fma.f64 -1/24 (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)))) (/.f64 (pow.f64 re 6) (*.f64 im im))) (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 -720 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64))) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4))))))) (fma.f64 1/288 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3))) (pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)))
(+.f64 (+.f64 (fma.f64 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) re)) -1/8 (+.f64 (+.f64 (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3)))) (pow.f64 re 4)) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))) (fma.f64 -1/12 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) (pow.f64 re 6)) (*.f64 (*.f64 im im) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))) (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 -720 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64))) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))) (*.f64 -1/12 (*.f64 (*.f64 im im) (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))))) (pow.f64 re 6))))) (fma.f64 -1/24 (/.f64 (+.f64 (*.f64 2 (*.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))) (*.f64 1/576 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3)))) (/.f64 (pow.f64 re 6) (*.f64 im im))) (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (/.f64 (*.f64 -720 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64))) (*.f64 im im)))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4))))))) (fma.f64 1/288 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))) (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3)))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/6 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (pow.f64 im 2)) (*.f64 2 (sqrt.f64 re)))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4) (*.f64 im im) (*.f64 2 (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (*.f64 im im))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/6 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (pow.f64 im 2)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 (+.f64 (*.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (+.f64 (*.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 -17/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)) (*.f64 1/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)))) (*.f64 -17/576 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))) (pow.f64 im 4))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4) (*.f64 im im) (fma.f64 2 (sqrt.f64 re) (*.f64 (pow.f64 im 4) (fma.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (fma.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 11))) -1/36) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -17/576))))))
(fma.f64 (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4) (fma.f64 (pow.f64 im 4) (fma.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (fma.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 11))) -1/36) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -17/576))) (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 (+.f64 (*.f64 1/12 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/6 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (pow.f64 im 2)) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (+.f64 (*.f64 -17/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)) (*.f64 1/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3))))) (+.f64 (*.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 -17/13824 (pow.f64 (/.f64 4 (pow.f64 re 17)) 1/3)) (*.f64 667/41472 (pow.f64 (/.f64 4 (pow.f64 re 17)) 1/3)))) (+.f64 (*.f64 -17/6912 (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (*.f64 667/41472 (sqrt.f64 (/.f64 1 (pow.f64 re 11))))))) (pow.f64 im 6)) (*.f64 (+.f64 (*.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (+.f64 (*.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 -17/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)) (*.f64 1/576 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/3)))) (*.f64 -17/576 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))))) (pow.f64 im 4)))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4) (*.f64 im im) (fma.f64 2 (sqrt.f64 re) (fma.f64 (fma.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 11))) -1/36)) (fma.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 17))) 77/5184) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) 565/41472))) (pow.f64 im 6) (*.f64 (pow.f64 im 4) (fma.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (fma.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 11))) -1/36) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -17/576)))))))
(fma.f64 (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4) (fma.f64 2 (sqrt.f64 re) (fma.f64 (pow.f64 im 4) (fma.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (fma.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 11))) -1/36) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -17/576))) (*.f64 (pow.f64 im 6) (fma.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 11))) -1/36)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) 565/41472 (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 17))) (*.f64 77/5184 (pow.f64 (*.f64 re 4) 1/6)))))))))
(fma.f64 (*.f64 im im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/4) (fma.f64 2 (sqrt.f64 re) (fma.f64 (pow.f64 im 4) (fma.f64 1/144 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (fma.f64 (pow.f64 (*.f64 re 4) 1/6) (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 11))) -1/36) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -17/576))) (*.f64 (pow.f64 im 6) (fma.f64 1/24 (*.f64 (pow.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) 3) -1/36) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) 565/41472 (*.f64 (cbrt.f64 (/.f64 4 (pow.f64 re 17))) (*.f64 77/5184 (pow.f64 (*.f64 re 4) 1/6)))))))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)
(pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)
(+.f64 (*.f64 1/3 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3) (*.f64 1/6 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im))))
(fma.f64 1/3 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3) (*.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))))))
(fma.f64 1/3 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)))
(fma.f64 1/3 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2)) (+.f64 (*.f64 1/18 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2))) (*.f64 1/6 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)))))))
(fma.f64 1/3 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (+.f64 (/.f64 (fma.f64 1/36 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)) (*.f64 (*.f64 2 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3) (+.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (fma.f64 1/18 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (*.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3)))))))))
(+.f64 (+.f64 (fma.f64 1/18 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (*.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) 0) im) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3) im))) (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3))) (fma.f64 1/3 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) (/.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 2) (+.f64 (*.f64 (*.f64 re re) 1/36) (*.f64 2 (fma.f64 1/72 (*.f64 re re) 0))))))))
(+.f64 (+.f64 (fma.f64 1/18 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) im) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3) im))) (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3))) (fma.f64 1/3 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) (/.f64 (*.f64 im im) (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 2) (+.f64 (*.f64 (*.f64 re re) 1/36) (*.f64 2 (*.f64 re (*.f64 re 1/72)))))))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 1/3 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 (+.f64 (*.f64 1/36 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)))) (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))) (pow.f64 im 3))) (+.f64 (*.f64 1/18 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)) im)) (*.f64 1/3 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 re (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3))) (pow.f64 im 3))))))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3) (+.f64 (/.f64 (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 (pow.f64 re 3) 1/1296))) (/.f64 (pow.f64 im 3) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (+.f64 (/.f64 (fma.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (*.f64 (pow.f64 re 3) 1/1296))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)) (*.f64 1/3 (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (fma.f64 1/3 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (+.f64 (/.f64 (fma.f64 1/36 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)) (*.f64 (*.f64 2 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (fma.f64 1/6 (/.f64 (fma.f64 1/36 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)) (*.f64 (*.f64 2 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (/.f64 (pow.f64 im 3) (*.f64 re (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))) (fma.f64 1/18 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (+.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (fma.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))) (*.f64 1/3 (/.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (/.f64 (pow.f64 im 3) (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 3))))))))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3) (+.f64 (+.f64 (fma.f64 1/6 (*.f64 (/.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 2) (+.f64 (*.f64 (*.f64 re re) 1/36) (*.f64 2 (fma.f64 1/72 (*.f64 re re) 0)))) (pow.f64 im 3)) (*.f64 re (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))))) (+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (/.f64 (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3) (*.f64 re (fma.f64 1/72 (*.f64 re re) 0)))) (pow.f64 im 3))) (fma.f64 1/18 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (*.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) 0) im) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3) im))))) (fma.f64 1/3 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) (/.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 2) (+.f64 (*.f64 (*.f64 re re) 1/36) (*.f64 2 (fma.f64 1/72 (*.f64 re re) 0)))))))) (+.f64 (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 3)) (*.f64 (/.f64 (fma.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 re 0))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 2)) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))) 2) (*.f64 re (fma.f64 1/72 (*.f64 re re) 0))))) (pow.f64 im 3)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))))))
(+.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3) (+.f64 (+.f64 (fma.f64 1/6 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 2) (+.f64 (*.f64 (*.f64 re re) 1/36) (*.f64 2 (*.f64 re (*.f64 re 1/72))))) (pow.f64 im 3)) (*.f64 re (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)))) (+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (/.f64 (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3) (*.f64 re (*.f64 re (*.f64 re 1/72))))) (pow.f64 im 3))) (fma.f64 1/18 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) im) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3) im))))) (fma.f64 1/3 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) (/.f64 (*.f64 im im) (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 2) (+.f64 (*.f64 (*.f64 re re) 1/36) (*.f64 2 (*.f64 re (*.f64 re 1/72))))))))) (+.f64 (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 0)) (pow.f64 im 3)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 3)) (*.f64 (/.f64 (fma.f64 2 (+.f64 0 (*.f64 (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 (pow.f64 re 3) -1/36)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 2))) (*.f64 1/3 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) 2) (*.f64 re (*.f64 re (*.f64 re 1/72)))))) (pow.f64 im 3)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))))))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)
(pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (*.f64 -1 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re)) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re))) im)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (neg.f64 (/.f64 (*.f64 (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3)) 1/2) im)))
(-.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3) (/.f64 (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)) (/.f64 im 1/2)))
(-.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3) (/.f64 (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)) (/.f64 im 1/2)))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re)) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re))) im)) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (*.f64 1/18 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (pow.f64 re 2)) (pow.f64 im 2)))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 1/36 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))))) (*.f64 im im)) (fma.f64 -1 (/.f64 (*.f64 (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3)) 1/2) im) (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (/.f64 (*.f64 im im) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))) (*.f64 1/18 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (/.f64 (*.f64 im im) (*.f64 re re))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3) (+.f64 (/.f64 (+.f64 (*.f64 1/36 (*.f64 re (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (*.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (*.f64 im im)) (-.f64 (fma.f64 1/18 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3))) (/.f64 (fma.f64 1/72 (*.f64 re re) 0) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (/.f64 (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)) (/.f64 im 1/2)))))
(+.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3) (+.f64 (/.f64 (+.f64 (*.f64 1/36 (*.f64 re (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))) (*.f64 2 (*.f64 1/72 (*.f64 re (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))))) (*.f64 im im)) (-.f64 (fma.f64 1/18 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3))) (/.f64 (*.f64 re (*.f64 re 1/72)) (/.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))) (/.f64 (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)) (/.f64 im 1/2)))))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re)) (*.f64 1/6 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) re))) im)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))))) (+.f64 (*.f64 1/6 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 re (+.f64 (*.f64 1/36 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (pow.f64 re 2))) (*.f64 2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))) (+.f64 (*.f64 (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/1296 (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3)) (*.f64 1/3 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) re)))))) (pow.f64 im 3))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (*.f64 1/18 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3) (pow.f64 re 2)) (pow.f64 im 2))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 1/36 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re))))))) (*.f64 im im)) (fma.f64 -1 (/.f64 (*.f64 (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3)) 1/2) im) (fma.f64 -1 (/.f64 (fma.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 1/3 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (*.f64 re (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))) (*.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (*.f64 (pow.f64 re 3) 1/1296))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)))) (fma.f64 1/6 (*.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (*.f64 re (fma.f64 1/36 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (*.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))))) (fma.f64 (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 (pow.f64 re 3) 1/1296))) (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (*.f64 1/3 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (*.f64 re (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))))))) (pow.f64 im 3)) (+.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (/.f64 (*.f64 im im) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))) (*.f64 1/18 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 3) (/.f64 (*.f64 im im) (*.f64 re re)))))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3) (+.f64 (-.f64 (fma.f64 1/18 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3))) (/.f64 (fma.f64 1/72 (*.f64 re re) 0) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3) (*.f64 (*.f64 re (fma.f64 1/72 (*.f64 re re) 0)) 1/3)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 re 0))) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (fma.f64 1/6 (*.f64 re (+.f64 (*.f64 1/36 (*.f64 re (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (*.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3))))) (fma.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 re 0))) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3) (*.f64 (*.f64 re (fma.f64 1/72 (*.f64 re re) 0)) 1/3))))) (pow.f64 im 3))) (-.f64 (/.f64 (+.f64 (*.f64 1/36 (*.f64 re (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (*.f64 2 (*.f64 (fma.f64 1/72 (*.f64 re re) 0) (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)))) (*.f64 im im)) (/.f64 (*.f64 re (pow.f64 (pow.f64 (exp.f64 1/6) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 3)) (/.f64 im 1/2)))))
(+.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3) (+.f64 (-.f64 (fma.f64 1/18 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3))) (/.f64 (*.f64 re (*.f64 re 1/72)) (/.f64 (*.f64 im im) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))) (/.f64 (+.f64 (+.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3) (*.f64 (*.f64 re (*.f64 re (*.f64 re 1/72))) 1/3)) (*.f64 2 (*.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 0)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))) (fma.f64 1/6 (*.f64 re (+.f64 (*.f64 1/36 (*.f64 re (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))) (*.f64 2 (*.f64 1/72 (*.f64 re (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3))))))) (fma.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/36) (fma.f64 (pow.f64 re 3) 1/1296 0)) (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3) (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3) (*.f64 (*.f64 re (*.f64 re (*.f64 re 1/72))) 1/3))))) (pow.f64 im 3))) (-.f64 (/.f64 (+.f64 (*.f64 1/36 (*.f64 re (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))) (*.f64 2 (*.f64 1/72 (*.f64 re (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)))))) (*.f64 im im)) (/.f64 (*.f64 re (pow.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) 3)) (/.f64 im 1/2)))))

localize11.0ms (0.1%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
0.0b
(*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))
0.2b
(/.f64 im (/.f64 re im))
16.8b
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2)))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series11.0ms (0.1%)

Counts
4 → 84
Calls

24 calls:

TimeVariablePointExpression
4.0ms
im
@0
(*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))
0.0ms
im
@inf
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
0.0ms
im
@0
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
0.0ms
re
@0
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
0.0ms
im
@0
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2)))

rewrite105.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
574×log-prod_binary64
432×exp-prod_binary64
291×pow-prod-down_binary64
266×pow2_binary64
256×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify95.0ms (1.1%)

Algorithm
egg-herbie
Rules
1012×fma-def_binary64
445×distribute-lft-neg-in_binary64
433×distribute-rgt-neg-in_binary64
390×associate-*l/_binary64
360×associate-/l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017800
138800
287800
3201800
4512800
51751800
63933800
76343800
Stop Event
node limit
Counts
247 → 172
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(neg.f64 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (/.f64 im (/.f64 re im)) -1/2)

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(*.f64 im (/.f64 im re))
18.8b
(sqrt.f64 (*.f64 im (/.f64 im re)))
Compiler

Compiled 44 to 10 computations (77.3% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(sqrt.f64 (*.f64 im (/.f64 im re)))
1.0ms
im
@0
(sqrt.f64 (*.f64 im (/.f64 im re)))
1.0ms
re
@-inf
(sqrt.f64 (*.f64 im (/.f64 im re)))
0.0ms
re
@inf
(sqrt.f64 (*.f64 im (/.f64 im re)))
0.0ms
re
@0
(sqrt.f64 (*.f64 im (/.f64 im re)))

rewrite56.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
647×pow1_binary64
600×add-log-exp_binary64
600×log1p-expm1-u_binary64
600×expm1-log1p-u_binary64
585×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0616
112613
2164313
Stop Event
node limit
Counts
2 → 44
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 im (/.f64 im re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (/.f64 im re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 im (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 im (/.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 im (/.f64 re im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 re (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im im) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 im im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im im) 1) re)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 im (/.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 im (sqrt.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 im (/.f64 im re))))))))

simplify80.0ms (0.9%)

Algorithm
egg-herbie
Rules
688×fma-def_binary64
618×fma-neg_binary64
477×associate-*l*_binary64
434×unswap-sqr_binary64
423×associate-*r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012284
123284
242284
378284
4181284
5564284
62025284
74865284
86506284
97954284
Stop Event
node limit
Counts
80 → 49
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.0b
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)
1.1b
(+.f64 re (hypot.f64 re im))
16.1b
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series19.0ms (0.2%)

Counts
2 → 32
Calls

12 calls:

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

rewrite64.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
506×prod-diff_binary64
450×log-prod_binary64
340×exp-prod_binary64
270×pow-prod-down_binary64
265×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify93.0ms (1%)

Algorithm
egg-herbie
Rules
360×times-frac_binary64
321×associate-/l*_binary64
321×distribute-rgt-in_binary64
311×distribute-lft-in_binary64
304×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02712006
17981757
227781510
373981399
Stop Event
node limit
Counts
107 → 137
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (/.f64 1 im) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (/.f64 1 im) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 4) (pow.f64 im 2))) (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 im 2)))) (pow.f64 re 3)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/4 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/4 (/.f64 1 (pow.f64 re 3)))) (pow.f64 re 2)))) (pow.f64 im 6)))) (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/4 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (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 (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 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.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 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.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 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)))))
(*.f64 8 (sqrt.f64 (pow.f64 re 3)))
(+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))) (*.f64 35/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 6))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (/.f64 1 im) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2))) 2))) (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) (fma.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 2)) (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 2)) 2)))) (/.f64 re (sqrt.f64 2)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (/.f64 re (sqrt.f64 2)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 2)) (-.f64 (/.f64 1 im) (/.f64 (/.f64 (/.f64 1 im) (sqrt.f64 2)) (sqrt.f64 2))))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (/.f64 1 im) (pow.f64 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 4) (pow.f64 im 2))) (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 im 2)))) (pow.f64 re 3)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (/.f64 (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1 im) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2))) 2))) (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) (fma.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (-.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 4) (*.f64 im im))) (/.f64 1 (*.f64 (*.f64 im im) (pow.f64 (sqrt.f64 2) 2)))) (/.f64 (sqrt.f64 2) (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 2)) (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 2)) 2)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (/.f64 re (sqrt.f64 2)) (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/4 (*.f64 im im)) (/.f64 1/2 (*.f64 im im))) (/.f64 (sqrt.f64 2) (pow.f64 re 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 re re) (sqrt.f64 2)) (-.f64 (/.f64 1 im) (/.f64 (/.f64 (/.f64 1 im) (sqrt.f64 2)) (sqrt.f64 2))))) (+.f64 (/.f64 re (sqrt.f64 2)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 re 3) (sqrt.f64 2)) (-.f64 (/.f64 1/4 (*.f64 im im)) (/.f64 1/2 (*.f64 im im)))))))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/4 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (*.f64 -1/4 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/4 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/4 (*.f64 (+.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/16) (/.f64 1/4 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/8 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/4 (/.f64 1 (pow.f64 re 3)))) (pow.f64 re 2)))) (pow.f64 im 6)))) (*.f64 -1/4 (*.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (*.f64 1/4 (/.f64 1 (pow.f64 re 3)))) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/4 (pow.f64 re 3))) (*.f64 re re)))) (pow.f64 im 6))) (*.f64 -1/4 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/4 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 -1/8 re) (/.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/4 (pow.f64 re 3))) re))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (*.f64 -1/4 (*.f64 (+.f64 (pow.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2) (/.f64 1/4 (pow.f64 re 3))) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/16) (/.f64 1/4 (pow.f64 re 3))) (pow.f64 im 4))) (*.f64 1/4 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 1/8 re) (/.f64 (+.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) 1/16) (/.f64 1/4 (pow.f64 re 3))) re))) (pow.f64 im 6)))))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(*.f64 (sqrt.f64 8) (pow.f64 im 3/2))
(+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 3/2 (sqrt.f64 8)) re)))
(fma.f64 (sqrt.f64 8) (pow.f64 im 3/2) (*.f64 (*.f64 re (sqrt.f64 8)) (*.f64 (sqrt.f64 im) 3/2)))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.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)))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 3/2 (sqrt.f64 8)) re))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (fma.f64 (sqrt.f64 8) (pow.f64 im 3/2) (*.f64 (*.f64 re (sqrt.f64 8)) (*.f64 (sqrt.f64 im) 3/2))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.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)))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (pow.f64 re 3) (*.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 5/16)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 (sqrt.f64 8) (pow.f64 im 3/2) (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 5/16)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))
(*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2))
(pow.f64 (*.f64 re 4) 3/2)
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 3/8 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))) (*.f64 re re)))
(fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))
(fma.f64 3/8 (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)))
(fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (*.f64 re 4) 3/2) (*.f64 re re)) (*.f64 im im)) (pow.f64 (*.f64 re 4) 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/16 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 9/128))))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 9/128 (*.f64 (pow.f64 im 4) -9/64)))))
(+.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (fma.f64 3/8 (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -9/128))))
(+.f64 (pow.f64 (*.f64 re 4) 3/2) (fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (*.f64 re 4) 3/2) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 (*.f64 re 4) 3/2) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -9/128))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/16 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 9/128)))))) (/.f64 (fma.f64 9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 (*.f64 3/128 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im)))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (+.f64 (fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 9/128 (*.f64 (pow.f64 im 4) -9/64)))) (*.f64 (/.f64 (fma.f64 (pow.f64 im 6) 9/1024 (fma.f64 1/480 (*.f64 (pow.f64 im 6) 75/2) (*.f64 3/128 (*.f64 (pow.f64 im 6) -9/4)))) (pow.f64 re 6)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -9/128))) (*.f64 (+.f64 (/.f64 (fma.f64 (pow.f64 im 6) 9/1024 (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (*.f64 (pow.f64 im 6) 5/64))) (pow.f64 re 6)) 1) (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (*.f64 re 4) 3/2) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 (*.f64 re 4) 3/2) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -9/128))) (*.f64 (+.f64 (/.f64 (fma.f64 (pow.f64 im 6) 9/1024 (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (*.f64 (pow.f64 im 6) 5/64))) (pow.f64 re 6)) 1) (pow.f64 (*.f64 re 4) 3/2)))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.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) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (/.f64 -1 re) 3/2) (pow.f64 (*.f64 im im) 3/2))
(*.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) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (*.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (/.f64 (*.f64 re re) (pow.f64 (*.f64 im im) 3/2)) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (pow.f64 (/.f64 -1 re) 3/2) (pow.f64 (*.f64 im im) 3/2)))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (/.f64 (*.f64 re re) (pow.f64 im 3)) (pow.f64 (/.f64 -1 re) 3/2))) (*.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 (*.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 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (/.f64 (fma.f64 (pow.f64 im 4) 9/128 (*.f64 (pow.f64 im 4) 9/64)) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))))))
(+.f64 (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (/.f64 (*.f64 re re) (pow.f64 (*.f64 im im) 3/2)) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (pow.f64 (/.f64 -1 re) 3/2) (pow.f64 (*.f64 im im) 3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 3/2) (pow.f64 (*.f64 im im) 3/2)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) 27/128)))
(+.f64 (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (/.f64 (*.f64 re re) (pow.f64 im 3)) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 4) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (pow.f64 im 4) 27/128)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.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 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 6) (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -3/128 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))))))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (+.f64 (/.f64 (fma.f64 (pow.f64 im 4) 9/128 (*.f64 (pow.f64 im 4) 9/64)) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))) (fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -9/1024 (fma.f64 1/480 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 -720 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4))))))))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 re) 3/2) (pow.f64 (*.f64 im im) 3/2)) (+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 3/2) (pow.f64 (*.f64 im im) 3/2)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) 27/128)) (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (/.f64 (*.f64 re re) (pow.f64 (*.f64 im im) 3/2)) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 3/2) (pow.f64 (*.f64 im im) 3/2)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -9/1024 (fma.f64 1/480 (+.f64 (*.f64 (/.f64 -720 (*.f64 im im)) (*.f64 (pow.f64 im 8) 5/64)) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4))))))))
(+.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 -1 re) 3/2)) (+.f64 (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 4) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (pow.f64 im 4) 27/128)) (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (/.f64 (*.f64 re re) (pow.f64 im 3)) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 6) (pow.f64 (/.f64 -1 re) 3/2))) (fma.f64 (pow.f64 im 6) -9/1024 (fma.f64 1/480 (+.f64 (*.f64 (/.f64 -720 (*.f64 im im)) (*.f64 (pow.f64 im 8) 5/64)) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4))))))))
(*.f64 8 (sqrt.f64 (pow.f64 re 3)))
(*.f64 8 (pow.f64 re 3/2))
(+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))))
(fma.f64 8 (sqrt.f64 (pow.f64 re 3)) (*.f64 3 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 8 (sqrt.f64 (pow.f64 re 3))))
(fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 8 (pow.f64 re 3/2)))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2)))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (sqrt.f64 (pow.f64 re 3)) (*.f64 3 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 8 (sqrt.f64 (pow.f64 re 3)))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 8 (pow.f64 re 3/2))))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))) (*.f64 35/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 6))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (sqrt.f64 (pow.f64 re 3)) (fma.f64 3 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 re))) (*.f64 35/128 (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (sqrt.f64 (pow.f64 re 3)) (fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 35/128 (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (pow.f64 re 3/2) (fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (pow.f64 im 6) 35/128)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))
(pow.f64 (*.f64 2 im) 3/2)
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (*.f64 2 im) 3/2))) (pow.f64 (*.f64 2 im) 3/2))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8)))))
(+.f64 (fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) im) (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im)))
(+.f64 (*.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) (*.f64 im im)) 1) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(+.f64 (*.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (*.f64 2 im) 3/2)))) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) (*.f64 im im)) 1) (pow.f64 (*.f64 2 im) 3/2)))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (+.f64 (/.f64 (fma.f64 9/16 (pow.f64 re 3) (fma.f64 1/4 (*.f64 (pow.f64 re 3) -1) (*.f64 9/8 (*.f64 re (*.f64 0 (*.f64 re re)))))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) im) (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im))) (fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (fma.f64 (pow.f64 re 3) 9/16 (fma.f64 1/4 (neg.f64 (pow.f64 re 3)) (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))))
(+.f64 (fma.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (*.f64 (/.f64 (pow.f64 2 3/2) im) (/.f64 (pow.f64 im 3/2) im)) (+.f64 (/.f64 (*.f64 (pow.f64 re 3) 5/16) im) (*.f64 re (*.f64 re 9/8)))))
(+.f64 (fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (*.f64 2 im) 3/2))) (pow.f64 (*.f64 2 im) 3/2)) (*.f64 (/.f64 (pow.f64 (*.f64 2 im) 3/2) (*.f64 im im)) (+.f64 (/.f64 (*.f64 (pow.f64 re 3) 5/16) im) (*.f64 re (*.f64 re 9/8)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))
(pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2)
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re))))
(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)))))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2)) (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8))))))
(+.f64 (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) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) im) (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) im)))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2)) (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2)) (*.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) im) (/.f64 (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2) im)))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)))))
(fma.f64 -1 (/.f64 (fma.f64 9/16 (pow.f64 re 3) (fma.f64 1/4 (*.f64 (pow.f64 re 3) -1) (*.f64 9/8 (*.f64 re (*.f64 0 (*.f64 re re)))))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8)))))))
(-.f64 (+.f64 (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) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im)))) (*.f64 (/.f64 (fma.f64 (pow.f64 re 3) 9/16 (fma.f64 1/4 (neg.f64 (pow.f64 re 3)) (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) im) (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) im)) (*.f64 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (pow.f64 im 3)) (*.f64 (pow.f64 re 3) 5/16))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2)) (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2)) (-.f64 (*.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) im) (/.f64 (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2) im)) (*.f64 (/.f64 (pow.f64 (/.f64 2 (/.f64 -1 im)) 3/2) (pow.f64 im 3)) (*.f64 (pow.f64 re 3) 5/16))))

eval634.0ms (7.1%)

Compiler

Compiled 20830 to 15329 computations (26.4% saved)

prune239.0ms (2.7%)

Pruning

36 alts after pruning (23 fresh and 13 done)

PrunedKeptTotal
New70320723
Fresh033
Picked101
Done01313
Total70436740
Error
3.2b
Counts
740 → 36
Alt Table
Click to see full alt table
StatusErrorProgram
53.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (exp.f64 1) (log.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2)))))))
53.2b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) 3))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
52.6b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 3/2))
46.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
14.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
12.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
45.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
53.1b
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2)))
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
60.6b
(*.f64 1/2 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
56.2b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))
53.4b
(*.f64 1/2 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
56.1b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3))
57.3b
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re))))))
53.1b
(*.f64 1/2 (sqrt.f64 (pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))))
30.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re) 2) 3/2)))
62.2b
(*.f64 1/2 (hypot.f64 (+.f64 re re) (sqrt.f64 (*.f64 im (/.f64 im re)))))
17.9b
(*.f64 1/2 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
12.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
52.7b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 im 2) 3/2)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (/.f64 (*.f64 im -1/2) re) (/.f64 1 im)))))
52.2b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (-.f64 (/.f64 (*.f64 re (*.f64 re -1/2)) im) im)) 2) 3/2)))
62.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (+.f64 re re) re (*.f64 1/2 (*.f64 im (/.f64 im re)))))))
16.4b
(*.f64 1/2 (pow.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))) 3))
47.1b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3))
53.3b
(*.f64 1/2 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
53.2b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) -1/2) 2) 1/6) 3))
53.1b
(*.f64 1/2 (pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
16.7b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
52.5b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
16.7b
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3)))
43.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
Compiler

Compiled 578 to 444 computations (23.2% saved)

regimes398.0ms (4.5%)

Counts
43 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (/.f64 (*.f64 im -1/2) re) (/.f64 1 im)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 im 2) 3/2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 3/2))
(*.f64 1/2 (hypot.f64 (+.f64 re re) (sqrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) 3))
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2)))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) -1/2) 2) 1/6) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2)))))
(*.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 (fma.f64 (+.f64 re re) re (*.f64 1/2 (*.f64 im (/.f64 im re)))))))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (-.f64 (/.f64 (*.f64 re (*.f64 re -1/2)) im) im)) 2) 3/2)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)))
(*.f64 1/2 (pow.f64 (exp.f64 1/2) (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3)))
(*.f64 1/2 (sqrt.f64 (pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (pow.f64 (exp.f64 1) (log.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2)))))))
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3))
(*.f64 1/2 (pow.f64 (exp.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))) 3))
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re) 2) 3/2)))
(*.f64 1/2 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
(*.f64 1/2 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
(*.f64 1/2 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
(*.f64 1/2 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Calls

8 calls:

64.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
63.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
53.0ms
(*.f64 im im)
51.0ms
re
45.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
ErrorSegmentsBranch
8.5b2re
12.4b1im
10.5b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
10.5b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
10.4b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
10.4b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
12.4b1(*.f64 im im)
12.4b1(*.f64 im im)
Compiler

Compiled 663 to 433 computations (34.7% saved)

bsearch90.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
89.0ms
-3.7303917617646286e+88
-1.5791809033853946e+77
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes170.0ms (1.9%)

Counts
16 → 3
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (/.f64 (*.f64 im -1/2) re) (/.f64 1 im)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 im 2) 3/2)))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

4 calls:

97.0ms
re
34.0ms
im
17.0ms
(*.f64 im im)
17.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
22.5b12re
22.2b3im
36.1b2(*.f64 im im)
36.1b2(*.f64 im im)
Compiler

Compiled 177 to 128 computations (27.7% saved)

bsearch102.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
50.0ms
3.3190817952967935e-134
5.1388029823396847e-129
51.0ms
-6.107645448022682e-131
-6.674013095390165e-134
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes243.0ms (2.7%)

Counts
13 → 3
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
(sqrt.f64 (*.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (/.f64 (*.f64 im -1/2) re) (/.f64 1 im)))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

4 calls:

132.0ms
re
46.0ms
im
30.0ms
(*.f64 im im)
29.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
22.5b12re
22.2b3im
36.1b2(*.f64 im im)
36.1b2(*.f64 im im)
Compiler

Compiled 137 to 100 computations (27% saved)

bsearch192.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
95.0ms
3.3190817952967935e-134
5.1388029823396847e-129
96.0ms
-6.107645448022682e-131
-6.674013095390165e-134
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes123.0ms (1.4%)

Counts
5 → 3
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

2 calls:

81.0ms
re
40.0ms
im
Results
ErrorSegmentsBranch
29.3b11re
22.5b3im
Compiler

Compiled 41 to 32 computations (22% saved)

bsearch135.0ms (1.5%)

Algorithm
binary-search
Steps
TimeLeftRight
59.0ms
3.3190817952967935e-134
5.1388029823396847e-129
76.0ms
-2.7815609936753717e-127
-5.298956032181172e-130
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes58.0ms (0.7%)

Counts
4 → 3
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Calls

2 calls:

41.0ms
re
16.0ms
im
Results
ErrorSegmentsBranch
29.4b11re
23.0b3im
Compiler

Compiled 33 to 26 computations (21.2% saved)

bsearch105.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
52.0ms
3.3190817952967935e-134
5.1388029823396847e-129
52.0ms
-2.7815609936753717e-127
-5.298956032181172e-130
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes25.0ms (0.3%)

Counts
3 → 4
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Calls

2 calls:

13.0ms
re
11.0ms
im
Results
ErrorSegmentsBranch
35.4b4re
36.8b2im
Compiler

Compiled 26 to 20 computations (23.1% saved)

bsearch77.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
26.0ms
4.8332870353609745e-29
8.563686525061513e-26
25.0ms
3.6310349648970695e-74
8.813805183793636e-62
26.0ms
5.5927315182592674e-180
8.633596573660662e-179
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes8.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0.0b (-0%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Outputs
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Calls

2 calls:

3.0ms
re
3.0ms
im
Results
ErrorSegmentsBranch
48.1b1re
48.1b1im
Compiler

Compiled 20 to 15 computations (25% saved)

simplify20.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
066288
194284
2109284
3120284
4124284
5125284
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -37303917617646286244525691179224885610589395474750541972491892615111875115257407752634368) (*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -762661332928355/12486994201263968925526388919172665222994392570659884603436627838501486955279062480481224412253967884639307724485626491581791902717153141225160704) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -762661332928355/12486994201263968925526388919172665222994392570659884603436627838501486955279062480481224412253967884639307724485626491581791902717153141225160704) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -868333399962160256/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -868333399962160256/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 re 3266112696622327/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 4622843034264849/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 re 8622872211755725/178405961588244985132285746181186892047843328) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Outputs
(if (<=.f64 re -37303917617646286244525691179224885610589395474750541972491892615111875115257407752634368) (*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -762661332928355/12486994201263968925526388919172665222994392570659884603436627838501486955279062480481224412253967884639307724485626491581791902717153141225160704) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (+.f64 re re) (*.f64 (*.f64 1/2 im) (/.f64 im re)))))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -762661332928355/12486994201263968925526388919172665222994392570659884603436627838501486955279062480481224412253967884639307724485626491581791902717153141225160704) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -868333399962160256/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -6783854687204377/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (*.f64 1/2 (sqrt.f64 (*.f64 (neg.f64 im) 2))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -6783854687204377/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -868333399962160256/3121748550315992231381597229793166305748598142664971150859156959625371738819765620120306103063491971159826931121406622895447975679288285306290176) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -6783854687204377/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (*.f64 1/2 (sqrt.f64 (*.f64 (neg.f64 im) 2))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))
(if (<=.f64 im -6783854687204377/24388660549343689307668728357759111763660922989570087116087163747073216709529418907189891430183531024686147899385989241370687309994439728955392) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6790406984727243/204586912993508866875824356051724947013540127877691549342705710506008362275292159680204380770369009821930417757972504438076078534117837065833032974336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))
(if (<=.f64 re 3266112696622327/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 4622843034264849/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 re 8622872211755725/178405961588244985132285746181186892047843328) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))))
(if (<=.f64 re 3266112696622327/583992399055640987986069965529637289586333248927815671114136642291107221402710705472756839848623539171666215625420084135768154204336056063776340648924443416096255318318113913610607896607565283328) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (if (<=.f64 re 4622843034264849/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 re 8622872211755725/178405961588244985132285746181186892047843328) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Compiler

Compiled 203 to 158 computations (22.2% saved)

soundness220.0ms (2.5%)

Algorithm
egg-herbie
Rules
983×fma-def_binary64
735×fma-def_binary64
661×associate-*r*_binary64
609×associate-*l*_binary64
542×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
23415
33615
01501391
14511326
214251270
365911270
019764
143764
2114764
3300764
4706764
52232764
63757764
76226764
01315
12515
23415
33615
Stop Event
saturated
node limit
node limit
saturated
Compiler

Compiled 186 to 131 computations (29.6% saved)

end94.0ms (1.1%)

Compiler

Compiled 191 to 139 computations (27.2% saved)

Profiling

Loading profile data...