Details

Time bar (total: 13.9s)

analyze185.0ms (1.3%)

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)

sample1.9s (13.6%)

Results
944.0ms6425×body256valid
363.0ms537×body4096valid
330.0ms654×body2048valid
151.0ms422×body1024valid
53.0ms218×body512valid

preprocess41.0ms (0.3%)

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)

simplify13.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)

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
11.1b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 12 to 9 computations (25% saved)

localize26.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 39 to 16 computations (59% saved)

series27.0ms (0.2%)

Counts
3 → 56
Calls

18 calls:

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

rewrite92.0ms (0.7%)

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)))))))

simplify99.0ms (0.7%)

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))

eval109.0ms (0.8%)

Compiler

Compiled 2995 to 2045 computations (31.7% saved)

prune54.0ms (0.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1369145
Fresh000
Picked011
Done000
Total13610146
Error
4.5b
Counts
146 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
53.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
44.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
47.2b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
11.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im)))))))
59.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 re)))))
11.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
44.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 224 to 175 computations (21.9% saved)

localize45.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 re im)
0.2b
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4)
0.4b
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
0.6b
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 55 to 27 computations (50.9% saved)

series28.0ms (0.2%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
6.0ms
re
@inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
4.0ms
re
@-inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
4.0ms
im
@inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
3.0ms
re
@0
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
3.0ms
im
@-inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)

rewrite63.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
506×prod-diff_binary64
460×log-prod_binary64
284×pow-prod-down_binary64
266×pow2_binary64
201×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify91.0ms (0.7%)

Algorithm
egg-herbie
Rules
760×distribute-rgt-in_binary64
750×distribute-lft-in_binary64
377×fma-def_binary64
296×associate-*r*_binary64
245×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03883826
112003318
246442809
Stop Event
node limit
Counts
111 → 156
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 (+.f64 (*.f64 -5/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 1/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (pow.f64 re 3)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))))
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4))))) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2))
(+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 6))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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)))))))) (pow.f64 re 6))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)))))))
(*.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 (+.f64 (*.f64 1/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (*.f64 -11/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (pow.f64 im 4))))
(+.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 (+.f64 (*.f64 1/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (*.f64 -11/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 95/2048 (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (*.f64 -11/2048 (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (pow.f64 im 6)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))) (pow.f64 im 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))))) (pow.f64 im 3))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2)))))))
(pow.f64 (*.f64 2 im) 1/4)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (pow.f64 (*.f64 2 im) 1/4))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (+.f64 (pow.f64 (*.f64 2 im) 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 -5/128 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (+.f64 (pow.f64 (*.f64 2 im) 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.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/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.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/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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)))))))) (pow.f64 re 6)) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.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/4)
(+.f64 (pow.f64 (*.f64 4 re) 1/4) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4) (pow.f64 im 2))))
(+.f64 (pow.f64 (*.f64 4 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4) (pow.f64 im 4)))))
(+.f64 (pow.f64 (*.f64 4 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (+.f64 (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4) (pow.f64 im 4))) (*.f64 95/8192 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/4) (pow.f64 im 6))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))))
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 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)))
(+.f64 (*.f64 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 (sqrt.f64 2) (*.f64 (*.f64 re re) (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))))
(fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) 1/2))))
(fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2))))
(+.f64 (*.f64 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 (+.f64 (*.f64 -5/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 1/64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))) (pow.f64 re 3)))))
(fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) -1/16) (pow.f64 re 3)))))
(fma.f64 1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) -1/16)) (pow.f64 re 3)))))
(+.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) -1/16)) (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2) (*.f64 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 1/8))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2)
(pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2)
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))
(fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))
(fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) re)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2))
(fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) re)) (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2))
(+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))))
(fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/512)))) (fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128))) (fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) re)) (fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2))))
(fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -11/512)) (fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) re)) (fma.f64 1/256 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2))))
(+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4))))) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (+.f64 (*.f64 1/96 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))) (*.f64 1/512 (pow.f64 im 4)))) (pow.f64 re 4))) (+.f64 (*.f64 1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2))))))
(fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/512))))) (fma.f64 2 (/.f64 (fma.f64 1/24576 (pow.f64 im 6) (fma.f64 1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4)) (*.f64 1/2880 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/512)))) (fma.f64 1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))))))
(fma.f64 1/8 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) (pow.f64 re 6)) (+.f64 (*.f64 1/512 (pow.f64 im 6)) (*.f64 1/96 (*.f64 (pow.f64 im 6) -9/4)))) (fma.f64 2 (*.f64 (/.f64 (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/2880 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/24576 (pow.f64 im 6)))) (pow.f64 re 6)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128))) (fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) re)) (fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) 2))))))
(fma.f64 1/8 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) (pow.f64 re 6)) (*.f64 im (*.f64 im (*.f64 (pow.f64 im 4) -11/512)))) (fma.f64 2 (/.f64 (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/24576 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 5/384))) (/.f64 (pow.f64 re 6) (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2))) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -11/512)) (fma.f64 1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) re)) (fma.f64 1/256 (/.f64 (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) 2))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2)
(pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)
(+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2))
(fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) re)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) re)) (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2))
(+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2))))
(fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))) (fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2))))
(fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128)))) (fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) re)) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2))))
(fma.f64 1/256 (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 2 (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) 13/512))) (fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) re)) (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))))) (pow.f64 re 6))) (+.f64 (*.f64 1/256 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 4)) (pow.f64 re 4))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (pow.f64 im 2))) (pow.f64 re 6))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))) (+.f64 (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2) (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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)))))))) (pow.f64 re 6))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)))))))
(fma.f64 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4)))))) (fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 6) (*.f64 (*.f64 im im) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4)))))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))) (fma.f64 -1/8 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 6) (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 -1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)) (*.f64 1/2880 (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)))))))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)))))))
(fma.f64 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 6) (+.f64 (*.f64 1/512 (pow.f64 im 6)) (*.f64 1/96 (*.f64 (pow.f64 im 6) 9/4))))) (fma.f64 1/256 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 -1/16 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 6) (+.f64 (*.f64 1/512 (pow.f64 im 6)) (*.f64 1/96 (*.f64 (pow.f64 im 6) 9/4))))) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128)))) (fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) re)) (fma.f64 2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (*.f64 (/.f64 -720 im) (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 1/64 (pow.f64 im 8))) im)))) (*.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4))))) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2)))))))
(fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) (/.f64 (pow.f64 re 6) (*.f64 im (*.f64 im (*.f64 (pow.f64 im 4) 13/512))))) (fma.f64 1/256 (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) (/.f64 (pow.f64 re 6) (*.f64 im (*.f64 im (*.f64 (pow.f64 im 4) 13/512))))) (fma.f64 2 (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) 13/512))) (fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) re)) (fma.f64 2 (/.f64 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2) (/.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (+.f64 (*.f64 (/.f64 -720 im) (/.f64 (*.f64 (pow.f64 im 8) 5/64) im)) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4)))))) (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)))))))
(*.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 1/4 (*.f64 im im)) (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 (+.f64 (*.f64 1/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (*.f64 -11/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (pow.f64 im 4))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (*.f64 (pow.f64 im 4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -5/64))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) (*.f64 -5/64 (pow.f64 im 4)))))
(+.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 (+.f64 (*.f64 1/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (*.f64 -11/128 (sqrt.f64 (/.f64 1 (pow.f64 re 7))))) (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 95/2048 (sqrt.f64 (/.f64 1 (pow.f64 re 11)))) (*.f64 -11/2048 (sqrt.f64 (/.f64 1 (pow.f64 re 11))))) (pow.f64 im 6)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 7))) -5/64) (pow.f64 im 4) (*.f64 (pow.f64 im 6) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) 21/512)))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (fma.f64 (pow.f64 im 4) (*.f64 -5/64 (sqrt.f64 (/.f64 1 (pow.f64 re 7)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 11))) (*.f64 21/512 (pow.f64 im 6))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (*.f64 1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re))))
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2))
(fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) im) re) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))
(fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (fma.f64 1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (*.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32))))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)) (+.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)) (/.f64 2 (/.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) (fma.f64 (*.f64 re re) 1/32 0))))))
(fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (+.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) im) re) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (/.f64 (*.f64 (*.f64 2 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (*.f64 re (*.f64 re 1/32))) (*.f64 im im))))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (*.f64 re (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))) (pow.f64 im 3))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) re) im)) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))))))))
(fma.f64 1/16 (/.f64 (*.f64 re re) (/.f64 (*.f64 im im) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (fma.f64 1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 (pow.f64 im 3) (*.f64 re (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32))))) (fma.f64 2 (/.f64 (fma.f64 1/384 (pow.f64 re 3) (fma.f64 1/24 (*.f64 (pow.f64 re 3) -1) (*.f64 (*.f64 1/32 re) (*.f64 0 (*.f64 re re))))) (/.f64 (pow.f64 im 3) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (fma.f64 1/2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 im re)) (*.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32))))))))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) (pow.f64 im 3)) (fma.f64 re 0 (*.f64 (pow.f64 re 3) 1/32))) (fma.f64 2 (*.f64 (/.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/384 (*.f64 (pow.f64 re 3) -1/24))) (pow.f64 im 3)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)) (fma.f64 2 (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2) im) re))))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) 2)))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) (pow.f64 im 3)) (*.f64 (pow.f64 re 3) 1/32)) (fma.f64 2 (*.f64 (/.f64 (*.f64 (pow.f64 re 3) -5/128) (pow.f64 im 3)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (fma.f64 2 (*.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) im) (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) im)) (*.f64 1/2 (*.f64 (/.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2) im) re))))) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))
(fma.f64 -1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2))))))
(+.f64 (fma.f64 -1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (/.f64 (*.f64 1/16 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (*.f64 im im))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (/.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 re re) 1/32 0)))))
(+.f64 (fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (/.f64 (*.f64 2 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (/.f64 (*.f64 im im) (*.f64 re (*.f64 re 1/32))))))
(+.f64 (*.f64 -1/2 (/.f64 (*.f64 re (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) im)) (+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2))))))) (pow.f64 im 3))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2) (+.f64 (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 1/32 (pow.f64 re 2)))) (pow.f64 im 2))) (*.f64 1/16 (/.f64 (*.f64 (pow.f64 re 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) (pow.f64 im 2)))))))
(fma.f64 -1/2 (/.f64 re (/.f64 im (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (fma.f64 -1 (/.f64 (fma.f64 2 (*.f64 (fma.f64 1/384 (pow.f64 re 3) (fma.f64 1/24 (*.f64 (pow.f64 re 3) -1) (*.f64 (*.f64 1/32 re) (*.f64 0 (*.f64 re re))))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2)) (*.f64 1/2 (*.f64 re (*.f64 (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))))) (pow.f64 im 3)) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (fma.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (/.f64 (*.f64 1/16 (*.f64 (*.f64 re re) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (*.f64 im im))))))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (-.f64 (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2) (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (/.f64 (*.f64 2 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (/.f64 (*.f64 im im) (fma.f64 (*.f64 re re) 1/32 0))))) (/.f64 (fma.f64 2 (*.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/384 (*.f64 (pow.f64 re 3) -1/24))) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)) (*.f64 1/2 (*.f64 (fma.f64 re 0 (*.f64 (pow.f64 re 3) 1/32)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2)))) (pow.f64 im 3))))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (+.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2) (-.f64 (fma.f64 1/16 (*.f64 (*.f64 (/.f64 re im) (/.f64 re im)) (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (/.f64 (*.f64 2 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2)) (/.f64 (*.f64 im im) (*.f64 re (*.f64 re 1/32))))) (/.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)) 2) (+.f64 (*.f64 2 (*.f64 (pow.f64 re 3) -5/128)) (*.f64 (*.f64 1/2 re) (*.f64 re (*.f64 re 1/32))))) (pow.f64 im 3)))))
(pow.f64 (*.f64 2 im) 1/4)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (pow.f64 (*.f64 2 im) 1/4))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (pow.f64 (*.f64 2 im) 1/4))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (+.f64 (pow.f64 (*.f64 2 im) 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (pow.f64 (*.f64 2 im) 1/4)) (*.f64 (*.f64 1/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)) (*.f64 re re)))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (fma.f64 1/32 (*.f64 re (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4))) (pow.f64 (*.f64 2 im) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 -5/128 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (+.f64 (pow.f64 (*.f64 2 im) 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (fma.f64 -5/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4)) (+.f64 (pow.f64 (*.f64 2 im) 1/4) (*.f64 (*.f64 1/32 (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4)) (*.f64 re re)))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 3)) 1/4)) (fma.f64 -5/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/4)) (fma.f64 1/32 (*.f64 re (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 7)) 1/4))) (pow.f64 (*.f64 2 im) 1/4))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re)))
(*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4))
(+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))
(fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))))
(fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) re)) (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))) (/.f64 (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/512)) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))))
(+.f64 (fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re)))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128)))))
(+.f64 (*.f64 (/.f64 1/16 re) (/.f64 (*.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) (*.f64 im im)) re)) (*.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 4) -11/512) (pow.f64 re 4)) 1) (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))))
(+.f64 (/.f64 (fma.f64 1/96 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/512)) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))) (fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (fma.f64 1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4)) (fma.f64 1/24576 (pow.f64 im 6) (*.f64 1/2880 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))))))
(+.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128)))) (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 (/.f64 re im) (/.f64 re im))) (/.f64 (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/2880 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/24576 (pow.f64 im 6)))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 re))))))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4)) re)) (/.f64 (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/24576 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 5/384))) (/.f64 (pow.f64 re 6) (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4))))) (*.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 4) -11/512) (pow.f64 re 4)) 1) (*.f64 (pow.f64 re 1/4) (pow.f64 4 1/4))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.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/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (*.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(fma.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.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/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))) (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128))))
(+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) 13/512)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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)))))))) (pow.f64 re 6)) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.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/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))) (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 -1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)) (*.f64 1/2880 (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))))))) (pow.f64 re 6))))
(+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128))) (+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (*.f64 (/.f64 -720 im) (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 1/64 (pow.f64 im 8))) im)))) (*.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4)))))))
(+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) 13/512)) (+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (+.f64 (*.f64 (/.f64 -720 im) (/.f64 (*.f64 (pow.f64 im 8) 5/64) im)) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4)))))))
(pow.f64 (*.f64 4 re) 1/4)
(pow.f64 (*.f64 re 4) 1/4)
(+.f64 (pow.f64 (*.f64 4 re) 1/4) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4) (pow.f64 im 2))))
(+.f64 (pow.f64 (*.f64 re 4) 1/4) (*.f64 (*.f64 1/16 (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4)) (*.f64 im im)))
(fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4)) (pow.f64 (*.f64 re 4) 1/4))
(+.f64 (pow.f64 (*.f64 4 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4) (pow.f64 im 4)))))
(+.f64 (pow.f64 (*.f64 re 4) 1/4) (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4)) (*.f64 -11/512 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4)))))
(+.f64 (pow.f64 (*.f64 re 4) 1/4) (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4)) (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4) (*.f64 (pow.f64 im 4) -11/512))))
(+.f64 (pow.f64 (*.f64 4 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (+.f64 (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4) (pow.f64 im 4))) (*.f64 95/8192 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/4) (pow.f64 im 6))))))
(+.f64 (pow.f64 (*.f64 re 4) 1/4) (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4)) (fma.f64 -11/512 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4)) (*.f64 95/8192 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/4))))))
(+.f64 (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 7)) 1/4)) (pow.f64 (*.f64 re 4) 1/4)) (fma.f64 -11/512 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 15)) 1/4)) (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/4) (*.f64 (pow.f64 im 6) 95/8192))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 1/4 (*.f64 (/.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) im) re) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))))
(+.f64 (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/32 0) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) im) re)) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) (*.f64 im im)) 1) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) re) im)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)))))
(+.f64 (fma.f64 1/4 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)))) (/.f64 (fma.f64 1/384 (pow.f64 re 3) (fma.f64 1/24 (*.f64 (pow.f64 re 3) -1) (*.f64 (*.f64 1/32 re) (*.f64 0 (*.f64 re re))))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))))
(+.f64 (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))) (+.f64 (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/32 0) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/384 (*.f64 (pow.f64 re 3) -1/24))) (pow.f64 im 3)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im))))))
(+.f64 (fma.f64 1/4 (*.f64 (/.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) im) re) (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))) (*.f64 (/.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) (*.f64 im im)) (+.f64 (*.f64 re (*.f64 re 1/32)) (/.f64 (*.f64 (pow.f64 re 3) -5/128) im))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))
(fma.f64 -1/4 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))
(fma.f64 -1/4 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 -1/4 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4))) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))))
(+.f64 (fma.f64 -1/4 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (/.f64 (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))))
(+.f64 (fma.f64 -1/4 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im)))
(+.f64 (*.f64 -1/4 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)))) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) (*.f64 im im)) 1) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 re (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) im)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))))
(fma.f64 -1 (/.f64 (fma.f64 1/384 (pow.f64 re 3) (fma.f64 1/24 (*.f64 (pow.f64 re 3) -1) (*.f64 (*.f64 1/32 re) (*.f64 0 (*.f64 re re))))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))) (+.f64 (fma.f64 -1/4 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (/.f64 (fma.f64 1/8 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 1/32)) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))))))
(-.f64 (+.f64 (fma.f64 -1/4 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im) (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im))) (*.f64 (/.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/384 (*.f64 (pow.f64 re 3) -1/24))) (pow.f64 im 3)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(-.f64 (+.f64 (*.f64 -1/4 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)))) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) (*.f64 im im)) 1) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4)))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) -5/128) (pow.f64 im 3)) (*.f64 (pow.f64 2 1/4) (pow.f64 (/.f64 -1 im) -1/4))))

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (*.f64 2 im))
Compiler

Compiled 18 to 14 computations (22.2% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite44.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
422×pow1_binary64
410×add-sqr-sqrt_binary64
401×*-un-lft-identity_binary64
392×add-log-exp_binary64
392×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify6.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
25 → 25
Calls
Call 1
Inputs
Outputs

localize9.0ms (0.1%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize10.0ms (0.1%)

Compiler

Compiled 33 to 16 computations (51.5% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
Compiler

Compiled 21 to 15 computations (28.6% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite175.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
486×pow1_binary64
466×add-sqr-sqrt_binary64
458×*-un-lft-identity_binary64
450×add-log-exp_binary64
450×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
066
11216
212976
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 im) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 2 im))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))))))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
12 → 12
Calls
Call 1
Inputs
Outputs

eval579.0ms (4.2%)

Compiler

Compiled 8849 to 6748 computations (23.7% saved)

prune68.0ms (0.5%)

Pruning

22 alts after pruning (16 fresh and 6 done)

PrunedKeptTotal
New28714301
Fresh224
Picked011
Done055
Total28922311
Error
2.7b
Counts
311 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
54.6b
(*.f64 1/2 (pow.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4))) 2))
53.2b
(*.f64 1/2 (cbrt.f64 (pow.f64 (+.f64 im im) 3/2)))
59.5b
(*.f64 1/2 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2))
53.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
48.4b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))
54.2b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) 2))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
54.7b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2))
47.2b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
47.4b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 2))
11.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2))
44.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
49.5b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))
44.9b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2))
44.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
47.7b
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3))
59.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (neg.f64 re)))))
11.4b
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) (pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)))
48.3b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (neg.f64 im) 2) 1/4) 2))
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.5b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (+.f64 im im)))))
Compiler

Compiled 552 to 451 computations (18.3% saved)

localize45.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)
0.2b
(pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)
0.3b
(*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) (pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4))
0.6b
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 89 to 41 computations (53.9% saved)

series40.0ms (0.3%)

Counts
3 → 56
Calls

18 calls:

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

rewrite119.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
618×log-prod_binary64
506×prod-diff_binary64
330×pow2_binary64
233×pow-unpow_binary64
224×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01251
126739
2333735
Stop Event
node limit
Counts
3 → 67
Calls
Call 1
Inputs
(*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) (pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4))
(pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)
(pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)
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 pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)))) (#(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 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)))) (#(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 (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) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) 3) (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4) 3) (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) 3)) 1/3)))) (#(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 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) 3) (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4) 3) (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) 3)))))) (#(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 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/4))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4))))) (#(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)) 4) 1/4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4))) (cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 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) 1/4) (pow.f64 2 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/8) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4)) 2) 1/4) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4)) 1/4) (pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/4 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 4))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)) (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 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/8) (pow.f64 (+.f64 re (hypot.f64 re im)) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/4) (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) 1/4) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 1/4) (pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 1/4 (log.f64 (+.f64 re (hypot.f64 re im)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 re (hypot.f64 re im)))) 1))))))

simplify135.0ms (1%)

Algorithm
egg-herbie
Rules
603×times-frac_binary64
543×distribute-rgt-in_binary64
533×distribute-lft-in_binary64
345×fma-def_binary64
322×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03833438
111773099
243542659
Stop Event
node limit
Counts
123 → 170
Calls
Call 1
Inputs
(*.f64 (pow.f64 4 1/4) (sqrt.f64 im))
(+.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 4 1/4) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)) (+.f64 (*.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (pow.f64 4 1/4) (*.f64 re (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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)) (+.f64 (*.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (pow.f64 4 1/4) (*.f64 re (sqrt.f64 (/.f64 1 im))))))))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re))))))
(pow.f64 (*.f64 4 im) 1/4)
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (*.f64 1/4 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4) re)))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4) re)) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 -5/128 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re)))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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)))))))) (pow.f64 re 6)) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(pow.f64 (*.f64 8 re) 1/4)
(+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 8 re) 1/4))
(+.f64 (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4) (pow.f64 im 4))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 8 re) 1/4)))
(+.f64 (*.f64 95/8192 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 23)) 1/4) (pow.f64 im 6))) (+.f64 (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4) (pow.f64 im 4))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 8 re) 1/4))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))) (pow.f64 im 3)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) re) im)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))) (pow.f64 im 2)))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4))))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))) (pow.f64 im 3))))))
(pow.f64 im 1/4)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (pow.f64 im 1/4))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (pow.f64 im 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 -5/128 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (+.f64 (pow.f64 im 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))))) (pow.f64 re 4)) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6)))))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))))) (pow.f64 re 4)) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))) (pow.f64 re 4)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))) (pow.f64 re 6)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))))
(pow.f64 (*.f64 2 re) 1/4)
(+.f64 (pow.f64 (*.f64 2 re) 1/4) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))))
(+.f64 (pow.f64 (*.f64 2 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4) (pow.f64 im 4)))))
(+.f64 (*.f64 95/8192 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/4) (pow.f64 im 6))) (+.f64 (pow.f64 (*.f64 2 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4) (pow.f64 im 4))))))
(pow.f64 im 1/4)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (pow.f64 im 1/4))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (+.f64 (pow.f64 im 1/4) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4) (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))))))
(pow.f64 (*.f64 -1 im) 1/4)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4) re)) (pow.f64 (*.f64 -1 im) 1/4))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4) re)) (pow.f64 (*.f64 -1 im) 1/4)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4) re)) (+.f64 (pow.f64 (*.f64 -1 im) 1/4) (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/4) (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))))
Outputs
(*.f64 (pow.f64 4 1/4) (sqrt.f64 im))
(+.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (pow.f64 4 1/4) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (pow.f64 4 1/4) (sqrt.f64 im) (*.f64 1/2 (*.f64 (*.f64 (pow.f64 4 1/4) re) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (pow.f64 4 1/4) re)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)))
(*.f64 (pow.f64 4 1/4) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)) (+.f64 (*.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (pow.f64 4 1/4) (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 (pow.f64 4 1/4) (sqrt.f64 im) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))))) (*.f64 (*.f64 (pow.f64 4 1/4) re) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (pow.f64 4 1/4))) (*.f64 (pow.f64 4 1/4) re))) (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))) (+.f64 re (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re)))) (*.f64 (pow.f64 4 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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 im)) (+.f64 (*.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))))) (*.f64 1/2 (*.f64 (pow.f64 4 1/4) (*.f64 re (sqrt.f64 (/.f64 1 im))))))))
(fma.f64 -1/4 (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (pow.f64 4 1/4) (sqrt.f64 im) (*.f64 1/2 (+.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))))) (*.f64 (*.f64 (pow.f64 4 1/4) re) (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) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (pow.f64 4 1/4))) (*.f64 (pow.f64 4 1/4) re))) (*.f64 (pow.f64 4 1/4) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 im))) (+.f64 re (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re))))) (*.f64 (pow.f64 4 1/4) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re)))
(*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 re) (sqrt.f64 2)))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 (/.f64 (*.f64 im im) (sqrt.f64 2)) (pow.f64 4 1/4)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (sqrt.f64 2)))) (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 re) (sqrt.f64 2))))
(*.f64 (pow.f64 4 1/4) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (*.f64 1/4 (/.f64 (*.f64 im im) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 (/.f64 (*.f64 im im) (sqrt.f64 2)) (pow.f64 4 1/4)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (/.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 (sqrt.f64 2) (pow.f64 im 4))) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (sqrt.f64 2)))) (fma.f64 -1/2 (/.f64 (*.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 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 re) (sqrt.f64 2)))))
(fma.f64 1/4 (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (sqrt.f64 2)))) (*.f64 (pow.f64 4 1/4) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (/.f64 (*.f64 -1/2 (+.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) (pow.f64 im 4))) (sqrt.f64 (/.f64 1 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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 im 2) (sqrt.f64 2)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.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)) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))) (/.f64 (+.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 (sqrt.f64 2) (pow.f64 im 6)))) (fma.f64 1/4 (*.f64 (*.f64 (/.f64 (*.f64 im im) (sqrt.f64 2)) (pow.f64 4 1/4)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (/.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 (sqrt.f64 2) (pow.f64 im 4))) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 re))))))
(fma.f64 1/2 (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (sqrt.f64 2)) (pow.f64 im 6)))) (fma.f64 1/4 (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (sqrt.f64 2)))) (fma.f64 -1/2 (/.f64 (*.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 (sqrt.f64 2) (*.f64 (pow.f64 4 1/4) (sqrt.f64 (/.f64 1 re))))) (*.f64 (pow.f64 4 1/4) (*.f64 (sqrt.f64 re) (sqrt.f64 2))))))
(+.f64 (*.f64 (pow.f64 4 1/4) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 (/.f64 (*.f64 -1/2 (+.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) (pow.f64 im 4))) (sqrt.f64 (/.f64 1 re))))) (*.f64 (pow.f64 4 1/4) (+.f64 (*.f64 (*.f64 1/4 (/.f64 (*.f64 im im) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (sqrt.f64 2)) (pow.f64 im 6))) (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (*.f64 4 im) 1/4)
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (*.f64 1/4 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4) re)))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (*.f64 1/4 (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4)) (pow.f64 (*.f64 4 im) 1/4))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4) re)) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4)) (*.f64 1/32 (*.f64 (*.f64 re re) (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4)))))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4)) (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4) (*.f64 re (*.f64 re 1/32)))))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (*.f64 re (+.f64 (*.f64 1/4 (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4)) (*.f64 (*.f64 1/32 (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4)) re))))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 -5/128 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(+.f64 (pow.f64 (*.f64 4 im) 1/4) (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4)) (fma.f64 -5/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 4 (pow.f64 im 11)) 1/4)) (*.f64 1/32 (*.f64 (*.f64 re re) (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4))))))
(+.f64 (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4)) (pow.f64 (*.f64 4 im) 1/4)) (fma.f64 1/32 (*.f64 re (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4))) (*.f64 (pow.f64 (/.f64 4 (pow.f64 im 11)) 1/4) (*.f64 (pow.f64 re 3) -5/128))))
(+.f64 (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 4 (pow.f64 im 3)) 1/4)) (pow.f64 (*.f64 4 im) 1/4)) (*.f64 (*.f64 re re) (+.f64 (*.f64 1/32 (pow.f64 (/.f64 4 (pow.f64 im 7)) 1/4)) (*.f64 (*.f64 -5/128 (pow.f64 (/.f64 4 (pow.f64 im 11)) 1/4)) re))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re)))
(*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re))))
(fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4)) re)) (*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) -9/4)))) (pow.f64 re 4))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re)))) (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128)) (pow.f64 re 4)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re)))))
(+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4)) (/.f64 re im)) (/.f64 1/16 (/.f64 re im))) (*.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 4) -11/512) (pow.f64 re 4)) 1) (*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4))))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 8) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4)))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (/.f64 (*.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) -9/4)))) (pow.f64 re 4)) (/.f64 (fma.f64 1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4)) (fma.f64 1/24576 (pow.f64 im 6) (*.f64 1/2880 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (neg.f64 (neg.f64 (log.f64 re))))))))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re))) (+.f64 (fma.f64 1/16 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128)) (pow.f64 re 4)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re))))) (*.f64 (/.f64 (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/2880 (*.f64 (pow.f64 im 6) 75/2) (*.f64 (pow.f64 im 6) 1/24576))) (pow.f64 re 6)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 8) (log.f64 re))))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4)) re)) (*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4))) (*.f64 (*.f64 (pow.f64 8 1/4) (pow.f64 re 1/4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 4) -11/512) (pow.f64 re 4)) (/.f64 (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 (pow.f64 im 6) 1/24576 (*.f64 (pow.f64 im 6) 5/384))) (pow.f64 re 6)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 -1/16 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))))) (*.f64 re re)))
(fma.f64 -1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re)))))
(fma.f64 -1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4)) re)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 -1/16 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))))) (*.f64 re re))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))))
(+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128)))))
(+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4)) re)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4))) (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4)) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) 13/512))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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)))))))) (pow.f64 re 6)) (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (*.f64 2 (pow.f64 im 2))) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(+.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))))) (+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 6) (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 -1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)) (*.f64 1/2880 (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 (*.f64 -1/16 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 2 (*.f64 im im))) (log.f64 (/.f64 -1 re)))))) (*.f64 re re))))
(+.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128)))) (+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re))))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (*.f64 (*.f64 2 im) im)) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (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/1536 (*.f64 (pow.f64 im 6) 9/4)))))))
(+.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4)) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) 13/512))) (+.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4)) re)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 2 im) im) 1/4)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (+.f64 (*.f64 -720 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (*.f64 im im))) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4)))))))
(pow.f64 (*.f64 8 re) 1/4)
(pow.f64 (*.f64 re 8) 1/4)
(+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 8 re) 1/4))
(fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4)) (pow.f64 (*.f64 re 8) 1/4))
(fma.f64 1/16 (*.f64 im (*.f64 im (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4))) (pow.f64 (*.f64 re 8) 1/4))
(+.f64 (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4) (pow.f64 im 4))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 8 re) 1/4)))
(fma.f64 -11/512 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4)) (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4)) (pow.f64 (*.f64 re 8) 1/4)))
(fma.f64 -11/512 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4)) (fma.f64 1/16 (*.f64 im (*.f64 im (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4))) (pow.f64 (*.f64 re 8) 1/4)))
(+.f64 (*.f64 95/8192 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 23)) 1/4) (pow.f64 im 6))) (+.f64 (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4) (pow.f64 im 4))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (pow.f64 (*.f64 8 re) 1/4))))
(fma.f64 95/8192 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 8 (pow.f64 re 23)) 1/4)) (fma.f64 -11/512 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4)) (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4)) (pow.f64 (*.f64 re 8) 1/4))))
(fma.f64 95/8192 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 8 (pow.f64 re 23)) 1/4)) (fma.f64 -11/512 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 8 (pow.f64 re 15)) 1/4)) (fma.f64 1/16 (*.f64 im (*.f64 im (pow.f64 (/.f64 8 (pow.f64 re 7)) 1/4))) (pow.f64 (*.f64 re 8) 1/4))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))
(pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4)))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im)))
(*.f64 (pow.f64 4 1/4) (pow.f64 im 1/4))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))))
(fma.f64 1/4 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4))))
(fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im))))
(fma.f64 1/4 (*.f64 (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 im 1/4)) im) re) (*.f64 (pow.f64 4 1/4) (pow.f64 im 1/4)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))))
(+.f64 (fma.f64 1/4 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4)))) (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4))) (/.f64 (*.f64 im im) (fma.f64 1/32 (*.f64 re re) (*.f64 1/8 (*.f64 0 (*.f64 re re)))))))
(+.f64 (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im))) im) (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im)))
(fma.f64 1/4 (*.f64 (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 im 1/4)) im) re) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) (*.f64 im im)) 1) (*.f64 (pow.f64 4 1/4) (pow.f64 im 1/4))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))) (pow.f64 im 3)) (+.f64 (*.f64 1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) re) im)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4)))) (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 4))))) (pow.f64 im 2)))))
(+.f64 (/.f64 (fma.f64 1/384 (pow.f64 re 3) (fma.f64 1/24 (*.f64 (pow.f64 re 3) -1) (*.f64 1/32 (*.f64 re (*.f64 0 (*.f64 re re)))))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4))))) (+.f64 (fma.f64 1/4 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4)))) (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 4))) (/.f64 (*.f64 im im) (fma.f64 1/32 (*.f64 re re) (*.f64 1/8 (*.f64 0 (*.f64 re re))))))))
(+.f64 (fma.f64 1/4 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im))) im) re) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im)))) (+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im))) im) (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im)) (*.f64 (/.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/384 (*.f64 (pow.f64 re 3) -1/24))) (pow.f64 im 3)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 4) (log.f64 im))))))
(+.f64 (fma.f64 1/4 (*.f64 (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 im 1/4)) im) re) (*.f64 (pow.f64 4 1/4) (pow.f64 im 1/4))) (*.f64 (*.f64 (/.f64 (pow.f64 im 1/4) im) (/.f64 (pow.f64 4 1/4) im)) (+.f64 (*.f64 re (*.f64 re 1/32)) (/.f64 (*.f64 (pow.f64 re 3) -5/128) im))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4))))
(pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4)))
(pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) re) im)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))))
(fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))))
(fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))) (/.f64 im re)) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))))
(fma.f64 -1/4 (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)) (/.f64 im re)) (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4))))))
(fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 im re)) (+.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 (*.f64 im im) (fma.f64 1/32 (*.f64 re re) (*.f64 1/8 (*.f64 0 (*.f64 re re))))))))
(+.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))) (fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))) (/.f64 im re)) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im) (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))) im))))
(+.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)) (fma.f64 -1/4 (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)) (/.f64 im re)) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) im) (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)) im))))
(+.f64 (*.f64 -1/4 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 4)))) (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))) (pow.f64 im 3))))))
(fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 im re)) (+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 (*.f64 im im) (fma.f64 1/32 (*.f64 re re) (*.f64 1/8 (*.f64 0 (*.f64 re re))))))) (neg.f64 (/.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 4))) (/.f64 (pow.f64 im 3) (fma.f64 1/384 (pow.f64 re 3) (fma.f64 1/24 (*.f64 (pow.f64 re 3) -1) (*.f64 1/32 (*.f64 re (*.f64 0 (*.f64 re re)))))))))))
(+.f64 (-.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))) (/.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/384 (*.f64 (pow.f64 re 3) -1/24))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im))))))) (fma.f64 -1/4 (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))) (/.f64 im re)) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/32 0) im) (/.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 im)))) im))))
(+.f64 (-.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)) (/.f64 (*.f64 (pow.f64 re 3) -5/128) (/.f64 (pow.f64 im 3) (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4))))) (fma.f64 -1/4 (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)) (/.f64 im re)) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/32)) im) (/.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 (/.f64 -1 im) -1/4)) im))))
(pow.f64 im 1/4)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (pow.f64 im 1/4))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (pow.f64 im 1/4))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (pow.f64 im 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (pow.f64 re 2)))))
(+.f64 (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (pow.f64 im 1/4)) (*.f64 1/32 (*.f64 (*.f64 re re) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 1/32 (*.f64 re (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))) (pow.f64 im 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 -5/128 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4) (pow.f64 re 3))) (+.f64 (pow.f64 im 1/4) (*.f64 1/32 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (pow.f64 re 2))))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 -5/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4)) (+.f64 (pow.f64 im 1/4) (*.f64 1/32 (*.f64 (*.f64 re re) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 -5/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4)) (fma.f64 1/32 (*.f64 re (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))) (pow.f64 im 1/4))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 (*.f64 re (*.f64 re 1/32)) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (fma.f64 (*.f64 (pow.f64 re 3) -5/128) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4) (pow.f64 im 1/4))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2)))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2)))
(*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (*.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))) re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))))
(fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4)) re)) (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))))) (pow.f64 re 4)) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) -9/4)))))) (*.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))) re)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4)) re)) (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4))) (*.f64 (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -11/512)))
(+.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 1/24576 (pow.f64 im 6)) (*.f64 1/2880 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6)))))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))))) (pow.f64 re 4)) (*.f64 1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (+.f64 (+.f64 (*.f64 1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (/.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (/.f64 (pow.f64 re 4) (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) -9/4)))))) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (log.f64 2))) (/.f64 (pow.f64 re 6) (fma.f64 1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4)) (fma.f64 1/24576 (pow.f64 im 6) (*.f64 1/2880 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)))))))))
(+.f64 (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))) re)) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) -3/128)))) (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 2))) (pow.f64 re 6)) (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/2880 (*.f64 (pow.f64 im 6) 75/2) (*.f64 (pow.f64 im 6) 1/24576))))))
(+.f64 (+.f64 (fma.f64 1/16 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4)) re)) (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4))) (*.f64 (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -11/512))) (*.f64 (/.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 2 1/4)) (pow.f64 re 6)) (fma.f64 1/1536 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 (pow.f64 im 6) 1/24576 (*.f64 (pow.f64 im 6) 5/384)))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im)))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))
(fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))))
(fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))))
(fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (/.f64 -1 re) 1/4) (/.f64 re im)) (/.f64 (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4) (/.f64 re im))) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))))
(+.f64 (fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im)))))) (/.f64 (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))))))
(+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))) (fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))) (*.f64 (/.f64 re im) (/.f64 re im))) (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128)) (pow.f64 re 4)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))))))
(+.f64 (*.f64 -1/16 (*.f64 (/.f64 (pow.f64 (/.f64 -1 re) 1/4) (/.f64 re im)) (/.f64 (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4) (/.f64 re im)))) (*.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 13/512) (pow.f64 re 4)) 1) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4))))
(+.f64 (*.f64 -1/16 (/.f64 (*.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/512 (pow.f64 im 4)) (*.f64 1/96 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))) (pow.f64 re 4)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -1/24576 (pow.f64 im 6)) (+.f64 (*.f64 -1/1536 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))) (*.f64 1/2880 (+.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))))))) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))) (pow.f64 re 6)) (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))))
(fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (+.f64 (/.f64 (fma.f64 1/512 (pow.f64 im 4) (*.f64 1/96 (*.f64 (pow.f64 im 4) 9/4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im))))))) (/.f64 (fma.f64 -1/24576 (pow.f64 im 6) (fma.f64 -1/1536 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4)) (*.f64 1/2880 (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 (pow.f64 re 6) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im)))))))) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (*.f64 im im)))))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))) (/.f64 (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (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/1536 (*.f64 (pow.f64 im 6) 9/4)))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im))))))) (fma.f64 -1/16 (/.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))) (*.f64 (/.f64 re im) (/.f64 re im))) (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/512 (*.f64 (pow.f64 im 4) 3/128)) (pow.f64 re 4)) (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 1/2 im) im)))))))
(+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4)) (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 13/512) (pow.f64 re 4)) (/.f64 (fma.f64 (pow.f64 im 6) -1/24576 (fma.f64 1/2880 (+.f64 (*.f64 -720 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (*.f64 im im))) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -1/1536 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 re 6)))) (fma.f64 -1/16 (*.f64 (/.f64 (pow.f64 (/.f64 -1 re) 1/4) (/.f64 re im)) (/.f64 (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4) (/.f64 re im))) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 (*.f64 1/2 im) im) 1/4))))
(pow.f64 (*.f64 2 re) 1/4)
(pow.f64 (*.f64 re 2) 1/4)
(+.f64 (pow.f64 (*.f64 2 re) 1/4) (*.f64 1/16 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))))
(+.f64 (pow.f64 (*.f64 re 2) 1/4) (*.f64 (*.f64 1/16 (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4)) (*.f64 im im)))
(fma.f64 1/16 (*.f64 im (*.f64 im (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4))) (pow.f64 (*.f64 re 2) 1/4))
(+.f64 (pow.f64 (*.f64 2 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4) (pow.f64 im 4)))))
(+.f64 (pow.f64 (*.f64 re 2) 1/4) (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4)) (*.f64 (*.f64 -11/512 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4)) (pow.f64 im 4))))
(+.f64 (pow.f64 (*.f64 re 2) 1/4) (fma.f64 1/16 (*.f64 im (*.f64 im (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4))) (*.f64 (pow.f64 im 4) (*.f64 -11/512 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4)))))
(+.f64 (*.f64 95/8192 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/4) (pow.f64 im 6))) (+.f64 (pow.f64 (*.f64 2 re) 1/4) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4) (pow.f64 im 2))) (*.f64 -11/512 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4) (pow.f64 im 4))))))
(fma.f64 95/8192 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/4)) (+.f64 (pow.f64 (*.f64 re 2) 1/4) (fma.f64 1/16 (*.f64 (*.f64 im im) (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4)) (*.f64 (*.f64 -11/512 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4)) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/16 (*.f64 im (*.f64 im (pow.f64 (/.f64 2 (pow.f64 re 7)) 1/4))) (*.f64 (pow.f64 im 4) (*.f64 -11/512 (pow.f64 (/.f64 2 (pow.f64 re 15)) 1/4)))) (fma.f64 95/8192 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/4)) (pow.f64 (*.f64 re 2) 1/4)))
(pow.f64 im 1/4)
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (pow.f64 im 1/4))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (pow.f64 im 1/4))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 1/4)))
(+.f64 (fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (pow.f64 im 1/4)) (*.f64 1/32 (*.f64 (*.f64 re re) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 1/32 (*.f64 re (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))) (pow.f64 im 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4) re)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (+.f64 (pow.f64 im 1/4) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4) (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 -5/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4)) (+.f64 (pow.f64 im 1/4) (*.f64 1/32 (*.f64 (*.f64 re re) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 -5/128 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4)) (fma.f64 1/32 (*.f64 re (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4))) (pow.f64 im 1/4))))
(fma.f64 1/4 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 3)) 1/4)) (fma.f64 (*.f64 re (*.f64 re 1/32)) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/4) (fma.f64 (*.f64 (pow.f64 re 3) -5/128) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/4) (pow.f64 im 1/4))))
(pow.f64 (*.f64 -1 im) 1/4)
(pow.f64 (neg.f64 im) 1/4)
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4) re)) (pow.f64 (*.f64 -1 im) 1/4))
(fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4)) (pow.f64 (neg.f64 im) 1/4))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4) re)) (pow.f64 (*.f64 -1 im) 1/4)))
(fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (fma.f64 1/32 (*.f64 re re) (*.f64 1/8 (*.f64 0 (*.f64 re re)))) (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4)) (pow.f64 (neg.f64 im) 1/4)))
(fma.f64 (fma.f64 (*.f64 re re) 1/32 0) (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4)) (pow.f64 (neg.f64 im) 1/4)))
(fma.f64 (*.f64 re (*.f64 re 1/32)) (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4)) (pow.f64 (neg.f64 im) 1/4)))
(+.f64 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (+.f64 (*.f64 1/32 (pow.f64 re 2)) (*.f64 1/8 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4) re)) (+.f64 (pow.f64 (*.f64 -1 im) 1/4) (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/4) (+.f64 (*.f64 1/384 (pow.f64 re 3)) (+.f64 (*.f64 1/24 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/32 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))))))
(fma.f64 (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (fma.f64 1/32 (*.f64 re re) (*.f64 1/8 (*.f64 0 (*.f64 re re)))) (+.f64 (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4)) (pow.f64 (neg.f64 im) 1/4)) (neg.f64 (*.f64 (fma.f64 1/384 (pow.f64 re 3) (fma.f64 1/24 (*.f64 (pow.f64 re 3) -1) (*.f64 1/32 (*.f64 re (*.f64 0 (*.f64 re re)))))) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/4)))))
(fma.f64 (fma.f64 (*.f64 re re) 1/32 0) (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (-.f64 (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4)) (pow.f64 (neg.f64 im) 1/4)) (*.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/384 (*.f64 (pow.f64 re 3) -1/24))) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/4))))
(-.f64 (fma.f64 (*.f64 re (*.f64 re 1/32)) (pow.f64 (/.f64 -1 (pow.f64 im 7)) 1/4) (fma.f64 -1/4 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 3)) 1/4)) (pow.f64 (neg.f64 im) 1/4))) (*.f64 (*.f64 (pow.f64 re 3) -5/128) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/4)))

localize12.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize31.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2)
Compiler

Compiled 31 to 26 computations (16.1% saved)

series55.0ms (0.4%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
36.0ms
re
@0
(pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2)
12.0ms
re
@-inf
(pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2)
7.0ms
re
@inf
(pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2)

rewrite54.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
642×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
087
11746
218176
Stop Event
node limit
Counts
1 → 28
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (sqrt.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 re 4)) (cbrt.f64 (*.f64 2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 re))) (cbrt.f64 (*.f64 re 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (sqrt.f64 re))) (*.f64 (cbrt.f64 (pow.f64 (*.f64 re 4) 1/4)) (pow.f64 (*.f64 re 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 re) (pow.f64 4 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 re 1/4) (*.f64 (pow.f64 4 1/4) (pow.f64 (*.f64 re 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 re 4) 1/8) (*.f64 (pow.f64 (*.f64 re 4) 1/8) (pow.f64 (*.f64 re 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/8)) (pow.f64 (*.f64 re 4) 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/4)) (*.f64 (pow.f64 4 1/4) (pow.f64 4 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 re re) 16))) (sqrt.f64 (cbrt.f64 (*.f64 re 4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 4 1/2) (sqrt.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (*.f64 2 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 re re) 16)) 1/2) (pow.f64 (cbrt.f64 (*.f64 re 4)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 re 1/4) 2) (pow.f64 (pow.f64 4 1/4) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 re 4) 1/4) (cbrt.f64 (*.f64 2 (sqrt.f64 re)))) (cbrt.f64 (pow.f64 (*.f64 re 4) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 re 1/4)) (pow.f64 4 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 re 4))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 2 (sqrt.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (sqrt.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (sqrt.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (sqrt.f64 re))))))))

simplify52.0ms (0.4%)

Algorithm
egg-herbie
Rules
631×fma-neg_binary64
628×associate-*l*_binary64
594×associate-*r*_binary64
512×unswap-sqr_binary64
283×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029192
177192
2185156
345672
4141472
5685172
Stop Event
node limit
Counts
40 → 31
Calls
Call 1
Inputs
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
Outputs
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 re) (log.f64 4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -4)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 re) (log.f64 4))) 2)
(pow.f64 (*.f64 (pow.f64 4 1/4) (pow.f64 re 1/4)) 2)
(sqrt.f64 (*.f64 re 4))
(*.f64 2 (sqrt.f64 re))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(sqrt.f64 (+.f64 im im))
0.3b
(cbrt.f64 (sqrt.f64 (+.f64 im im)))
0.4b
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
Compiler

Compiled 33 to 13 computations (60.6% saved)

series56.0ms (0.4%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
40.0ms
im
@0
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
11.0ms
im
@inf
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
3.0ms
im
@-inf
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
0.0ms
im
@-inf
(cbrt.f64 (sqrt.f64 (+.f64 im im)))
0.0ms
im
@0
(sqrt.f64 (+.f64 im im))

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
433×pow1_binary64
429×add-sqr-sqrt_binary64
417×add-log-exp_binary64
416×log1p-expm1-u_binary64
416×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify165.0ms (1.2%)

Algorithm
egg-herbie
Rules
1984×unswap-sqr_binary64
939×sqr-pow_binary64
334×pow-sqr_binary64
328×*-commutative_binary64
281×cube-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
027292
170256
2148256
3311256
41052256
52011256
62100256
72248256
82431256
92614256
102844256
113138256
123471256
133868256
144307256
154771256
164911256
175031256
185103256
195187256
205211256
Stop Event
node limit
Counts
198 → 69
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
Outputs
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (*.f64 1 (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 1 (sqrt.f64 im)) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 -2) (*.f64 (sqrt.f64 im) (sqrt.f64 -1)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 1 (sqrt.f64 im)) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 -2) (*.f64 (sqrt.f64 im) (sqrt.f64 -1)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 1 (sqrt.f64 im)) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 -2) (*.f64 (sqrt.f64 im) (sqrt.f64 -1)))
(*.f64 (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)) (*.f64 (pow.f64 1 1/6) (sqrt.f64 im)))
(*.f64 (*.f64 1 (sqrt.f64 im)) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 -1) (sqrt.f64 -2)))
(*.f64 (sqrt.f64 -2) (*.f64 (sqrt.f64 im) (sqrt.f64 -1)))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (sqrt.f64 2) 1/3) (*.f64 (sqrt.f64 1) (pow.f64 im 1/6)))
(*.f64 (cbrt.f64 (sqrt.f64 2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (cbrt.f64 (sqrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (cbrt.f64 (sqrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (cbrt.f64 (sqrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (pow.f64 (*.f64 1 (sqrt.f64 -2)) 1/3))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (cbrt.f64 (sqrt.f64 -2)))

localize31.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
0.6b
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
3.8b
(pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)
Compiler

Compiled 57 to 40 computations (29.8% saved)

series86.0ms (0.6%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
37.0ms
re
@0
(pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)
14.0ms
im
@0
(pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)
12.0ms
im
@-inf
(pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)
11.0ms
re
@-inf
(pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)
8.0ms
re
@inf
(pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2)

rewrite71.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
458×log-prod_binary64
359×exp-prod_binary64
277×pow2_binary64
244×cbrt-unprod_binary64
234×pow-prod-down_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify69.0ms (0.5%)

Algorithm
egg-herbie
Rules
701×fma-neg_binary64
416×unswap-sqr_binary64
374×exp-sum_binary64
263×sub-neg_binary64
258×exp-diff_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0411008
188816
2190816
3520768
41401768
54248648
Stop Event
node limit
Counts
182 → 127
Calls
Call 1
Inputs
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
Outputs
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (*.f64 (pow.f64 im 2) (/.f64 -1 re)))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (*.f64 (neg.f64 im) (/.f64 im re)))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re)))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 im 2) (/.f64 -1 re))
(*.f64 (*.f64 im im) (/.f64 -1 re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 (neg.f64 im) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -1))) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (+.f64 (log.f64 -1) (log.f64 (/.f64 1 re))))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))
(+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))
(fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))
(-.f64 (*.f64 2 (log.f64 im)) (log.f64 re))

eval303.0ms (2.2%)

Compiler

Compiled 14060 to 9669 computations (31.2% saved)

prune100.0ms (0.7%)

Pruning

31 alts after pruning (23 fresh and 8 done)

PrunedKeptTotal
New50916525
Fresh4711
Picked101
Done2810
Total51631547
Error
2.7b
Counts
547 → 31
Alt Table
Click to see full alt table
StatusErrorProgram
48.8b
(*.f64 1/2 (-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1))
54.2b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) 2))
59.5b
(*.f64 1/2 (sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))))
53.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
62.0b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 2/3) 3))
54.7b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2))
47.2b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
62.0b
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
57.0b
(*.f64 1/2 (pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2))
61.5b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 3))
59.8b
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
63.0b
(*.f64 1/2 (pow.f64 (exp.f64 (expm1.f64 (log1p.f64 (log.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)))))) 1/2))
44.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
11.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
49.5b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))
44.9b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2))
59.7b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1) 3))
48.3b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (neg.f64 im) 2) 1/4) 2))
58.8b
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
60.0b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (E.f64) (*.f64 (*.f64 2 (log.f64 im)) 1)) (/.f64 -1 re)) 1/2))
58.8b
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
61.2b
(*.f64 1/2 (+.f64 im im))
54.6b
(*.f64 1/2 (pow.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4))) 2))
44.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
60.9b
(*.f64 1/2 (cbrt.f64 (+.f64 im im)))
55.6b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 -1 re) (*.f64 im im))))
11.4b
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) (pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)))
55.9b
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 -1 re) (*.f64 im im))) 1/4) 2)))
Compiler

Compiled 735 to 598 computations (18.6% saved)

localize31.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series5.0ms (0%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(sqrt.f64 (*.f64 2 (+.f64 re im)))
1.0ms
im
@0
(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
im
@-inf
(sqrt.f64 (*.f64 2 (+.f64 re im)))

rewrite50.0ms (0.4%)

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%)

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)))))))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 1/2 (+.f64 im im))
Compiler

Compiled 12 to 6 computations (50% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite50.0ms (0.4%)

Algorithm
egg-rewrite-iter-limit
batch-egg-rewrite
Rules
225×add-sqr-sqrt_binary64
223×pow1_binary64
215×*-un-lft-identity_binary64
215×add-log-exp_binary64
214×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
057
11131
216941
367591
057
11131
Stop Event
iter limit
unsound
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x . 0)))) (#(struct:change #<rule egg-rr> (2) ((x . im)))))

simplify7.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0112
Stop Event
saturated
Counts
13 → 2
Calls
Call 1
Inputs
im
im
im
im
im
im
im
im
im
im
im
im
Outputs
im
im
im
im
im
im
im
im
im
im
im
im

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.2b
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
Compiler

Compiled 17 to 7 computations (58.8% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite45.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
495×pow1_binary64
484×add-sqr-sqrt_binary64
466×add-log-exp_binary64
465×log1p-expm1-u_binary64
465×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify281.0ms (2%)

Algorithm
egg-herbie
Rules
11432×associate-*l*_binary64
1424×*-commutative_binary64
1166×associate-*r*_binary64
16×fma-neg_binary64
12×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
012108
12772
24736
37036
410636
518536
637336
741836
844236
944636
1044636
1187436
1294536
1394536
1494536
15210736
16210736
17234636
18234636
19234636
20643636
21643636
22729236
23729236
24729236
Stop Event
node limit
Counts
23 → 14
Calls
Call 1
Inputs
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
Outputs
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (neg.f64 (*.f64 -2 im))))
(*.f64 1/2 (*.f64 2 (fabs.f64 im)))
(*.f64 1 (fabs.f64 im))
(fabs.f64 im)

localize15.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (pow.f64 (+.f64 im im) 2/3) 3)
3.3b
(pow.f64 (+.f64 im im) 2/3)
Compiler

Compiled 30 to 18 computations (40% saved)

series87.0ms (0.6%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
62.0ms
im
@-inf
(pow.f64 (+.f64 im im) 2/3)
12.0ms
im
@0
(pow.f64 (+.f64 im im) 2/3)
10.0ms
im
@inf
(pow.f64 (+.f64 im im) 2/3)
1.0ms
im
@0
(pow.f64 (pow.f64 (+.f64 im im) 2/3) 3)
1.0ms
im
@-inf
(pow.f64 (pow.f64 (+.f64 im im) 2/3) 3)

rewrite94.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
503×pow1_binary64
500×add-sqr-sqrt_binary64
484×add-log-exp_binary64
483×log1p-expm1-u_binary64
483×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify73.0ms (0.5%)

Algorithm
egg-herbie
Rules
790×fma-neg_binary64
778×unswap-sqr_binary64
413×fma-def_binary64
387×exp-diff_binary64
236×associate-+l+_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
029348
184348
2187348
3485312
41640240
56882240
Stop Event
node limit
Counts
132 → 61
Calls
Call 1
Inputs
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
Outputs
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im)))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (log.f64 im)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))
(pow.f64 (exp.f64 (*.f64 2/3 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 3)
(pow.f64 (pow.f64 (exp.f64 2/3) (+.f64 (log.f64 2) (log.f64 im))) 3)
(exp.f64 (*.f64 2 (+.f64 (log.f64 2) (log.f64 im))))
(pow.f64 (*.f64 2 im) 2)
(*.f64 4 (*.f64 im im))

localize36.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.1b
(pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3)
8.2b
(*.f64 (/.f64 -1 re) (*.f64 im im))
8.4b
(pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2)
16.2b
(pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2)
Compiler

Compiled 69 to 44 computations (36.2% saved)

series230.0ms (1.7%)

Counts
4 → 96
Calls

24 calls:

TimeVariablePointExpression
83.0ms
im
@0
(pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2)
29.0ms
re
@0
(pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2)
18.0ms
im
@inf
(pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2)
17.0ms
re
@inf
(pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2)
17.0ms
re
@-inf
(pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2)

rewrite88.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
517×log-prod_binary64
376×exp-prod_binary64
314×pow-prod-down_binary64
286×pow2_binary64
217×pow-to-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify189.0ms (1.4%)

Algorithm
egg-herbie
Rules
608×fma-neg_binary64
512×fma-def_binary64
264×unswap-sqr_binary64
243×associate-+r+_binary64
226×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0601320
11371032
2328984
3795984
42135984
56905984
Stop Event
node limit
Counts
268 → 165
Calls
Call 1
Inputs
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 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))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
Outputs
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 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) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 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) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 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) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 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) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3/2)
(pow.f64 (/.f64 im (/.f64 re (neg.f64 im))) 3/2)
(pow.f64 (*.f64 im (/.f64 (neg.f64 im) re)) 3/2)
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(sqrt.f64 (exp.f64 (fma.f64 -1 (log.f64 re) (log.f64 (neg.f64 (*.f64 im im))))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(sqrt.f64 (/.f64 im (/.f64 re (neg.f64 im))))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 im (/.f64 re (neg.f64 im)))
(*.f64 im (/.f64 (neg.f64 im) re))

eval149.0ms (1.1%)

Compiler

Compiled 4199 to 2978 computations (29.1% saved)

prune105.0ms (0.8%)

Pruning

30 alts after pruning (21 fresh and 9 done)

PrunedKeptTotal
New26612278
Fresh9918
Picked101
Done3912
Total27930309
Error
0.0b
Counts
309 → 30
Alt Table
Click to see full alt table
StatusErrorProgram
48.8b
(*.f64 1/2 (-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1))
54.2b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) 2))
59.5b
(*.f64 1/2 (sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))))
47.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
60.9b
(*.f64 1/2 (cbrt.f64 (+.f64 im im)))
58.8b
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
62.0b
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
58.8b
(pow.f64 (*.f64 (+.f64 im im) (sqrt.f64 1/2)) 2)
63.0b
(*.f64 1/2 (pow.f64 (exp.f64 (expm1.f64 (log1p.f64 (log.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)))))) 1/2))
44.8b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
11.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2))
54.9b
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
44.9b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2))
48.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
49.0b
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
59.7b
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
53.3b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
58.8b
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
59.3b
0
11.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
60.0b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (E.f64) (*.f64 (*.f64 2 (log.f64 im)) 1)) (/.f64 -1 re)) 1/2))
57.0b
(*.f64 1/2 (pow.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 3/2) 2/3) 1/2))
55.9b
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 im im) (neg.f64 re))) 1) 1/2)))
61.2b
im
44.4b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
54.6b
(*.f64 1/2 (pow.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4))) 2))
44.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
47.2b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
59.8b
(fabs.f64 im)
11.4b
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) (pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)))
Compiler

Compiled 363 to 290 computations (20.1% saved)

regimes1.2s (8.4%)

Counts
53 → 2
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im 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)))
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 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 re (neg.f64 re)))))
(*.f64 1/2 (-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 -1 re) (*.f64 im im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(pow.f64 (*.f64 (+.f64 im im) (sqrt.f64 1/2)) 2)
(*.f64 1/2 (cbrt.f64 (pow.f64 (+.f64 im im) 3/2)))
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 2/3) 3))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 3))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1) 3))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 2))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (neg.f64 im) 2) 1/4) 2))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 im im) (neg.f64 re))) 1) 1/2)))
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 -1 re) (*.f64 im im))) 1/4) 2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (+.f64 im im)))))
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2))
(*.f64 1/2 (pow.f64 (pow.f64 (pow.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 3/2) 2/3) 1/2))
(*.f64 1/2 (pow.f64 (pow.f64 (pow.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)) 3/2) 2/3) 1/2))
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) 2))
(*.f64 1/2 (sqrt.f64 (exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))))
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (E.f64) (*.f64 (*.f64 2 (log.f64 im)) 1)) (/.f64 -1 re)) 1/2))
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2))
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2))
(*.f64 1/2 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/4) (pow.f64 (*.f64 2 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)))
(*.f64 1/2 (pow.f64 (exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 1/2))
(*.f64 1/2 (pow.f64 (exp.f64 (expm1.f64 (log1p.f64 (log.f64 (*.f64 (/.f64 -1 re) (*.f64 im im)))))) 1/2))
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im)))))))
(*.f64 1/2 (pow.f64 (fma.f64 -1/16 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (/.f64 -1 re) 1/4) (pow.f64 (*.f64 im im) 1/4))) 2))
Outputs
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Calls

12 calls:

211.0ms
(*.f64 im im)
157.0ms
im
157.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
110.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
94.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
ErrorSegmentsBranch
5.5b2re
11.1b1im
6.1b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
6.1b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
6.1b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
6.1b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
6.1b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
6.1b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
6.1b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
6.1b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
9.9b3(*.f64 im im)
9.9b3(*.f64 im im)
Compiler

Compiled 689 to 473 computations (31.3% saved)

bsearch66.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
65.0ms
-1.046441282610084e+39
-2.1154490003786677e+27
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes925.0ms (6.7%)

Counts
33 → 8
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im 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)))
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 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 re (neg.f64 re)))))
(*.f64 1/2 (-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 -1 re) (*.f64 im im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(pow.f64 (*.f64 (+.f64 im im) (sqrt.f64 1/2)) 2)
(*.f64 1/2 (cbrt.f64 (pow.f64 (+.f64 im im) 3/2)))
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 2/3) 3))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 3))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1) 3))
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 2))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/4) 2))
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (neg.f64 im) 2) 1/4) 2))
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 (neg.f64 im))))
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
Calls

4 calls:

613.0ms
re
205.0ms
im
50.0ms
(*.f64 im im)
48.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
21.5b5re
19.5b8im
34.2b4(*.f64 im im)
34.2b4(*.f64 im im)
Compiler

Compiled 263 to 182 computations (30.8% saved)

bsearch714.0ms (5.1%)

Algorithm
binary-search
Steps
TimeLeftRight
136.0ms
2.7563346312568003e-60
5.178475545368896e-53
82.0ms
2.011744924990974e-62
2.7563346312568003e-60
79.0ms
4.0628426208765444e-132
2.8529186764681598e-115
112.0ms
-1.1289079449687082e-300
-2.5187767454423975e-306
175.0ms
-6.655822479294364e-103
-8.929600472056985e-109
66.0ms
-799693.4838634767
-413862.2983786176
63.0ms
-5.580850603196456e+49
-9.735315384809435e+32
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes1.0s (7.4%)

Counts
26 → 8
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im 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)))
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 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 re (neg.f64 re)))))
(*.f64 1/2 (-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 -1 re) (*.f64 im im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(pow.f64 (*.f64 (+.f64 im im) (sqrt.f64 1/2)) 2)
(*.f64 1/2 (cbrt.f64 (pow.f64 (+.f64 im im) 3/2)))
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
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 (neg.f64 im))))
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re)))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

4 calls:

453.0ms
im
272.0ms
re
160.0ms
(*.f64 im im)
121.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
21.5b5re
19.7b8im
34.3b4(*.f64 im im)
34.3b4(*.f64 im im)
Compiler

Compiled 199 to 136 computations (31.7% saved)

bsearch483.0ms (3.5%)

Algorithm
binary-search
Steps
TimeLeftRight
47.0ms
2.7563346312568003e-60
5.178475545368896e-53
50.0ms
2.011744924990974e-62
2.7563346312568003e-60
67.0ms
4.0628426208765444e-132
2.8529186764681598e-115
82.0ms
-1.1289079449687082e-300
-2.5187767454423975e-306
140.0ms
-6.655822479294364e-103
-8.929600472056985e-109
40.0ms
-799693.4838634767
-413862.2983786176
56.0ms
-5.580850603196456e+49
-9.735315384809435e+32
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes286.0ms (2.1%)

Counts
25 → 7
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im 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)))
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 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 re (neg.f64 re)))))
(*.f64 1/2 (-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 -1 re) (*.f64 im im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(pow.f64 (*.f64 (+.f64 im im) (sqrt.f64 1/2)) 2)
(*.f64 1/2 (cbrt.f64 (pow.f64 (+.f64 im im) 3/2)))
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 (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

4 calls:

144.0ms
re
85.0ms
im
27.0ms
(*.f64 im im)
22.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
23.6b7re
21.6b7im
36.1b2(*.f64 im im)
36.1b2(*.f64 im im)
Compiler

Compiled 190 to 129 computations (32.1% saved)

bsearch351.0ms (2.5%)

Algorithm
binary-search
Steps
TimeLeftRight
72.0ms
2.7563346312568003e-60
5.178475545368896e-53
50.0ms
2.011744924990974e-62
2.7563346312568003e-60
50.0ms
4.0628426208765444e-132
2.8529186764681598e-115
60.0ms
-6.259835303791085e-191
-9.204479791767707e-194
52.0ms
-799693.4838634767
-413862.2983786176
66.0ms
-5.580850603196456e+49
-9.735315384809435e+32
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes283.0ms (2%)

Counts
16 → 7
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im 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)))
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 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 (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Calls

4 calls:

149.0ms
re
98.0ms
im
17.0ms
(*.f64 im im)
15.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
25.6b6re
22.0b7im
36.6b2(*.f64 im im)
36.6b2(*.f64 im im)
Compiler

Compiled 109 to 72 computations (33.9% saved)

bsearch311.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
44.0ms
2.7563346312568003e-60
5.178475545368896e-53
46.0ms
2.011744924990974e-62
2.7563346312568003e-60
51.0ms
4.0628426208765444e-132
2.8529186764681598e-115
62.0ms
-6.259835303791085e-191
-9.204479791767707e-194
46.0ms
-799693.4838634767
-413862.2983786176
59.0ms
-5.580850603196456e+49
-9.735315384809435e+32
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes206.0ms (1.5%)

Counts
15 → 5
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im 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)))
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
(*.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 (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Calls

4 calls:

107.0ms
im
61.0ms
re
19.0ms
(*.f64 im im)
14.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
29.0b6re
23.0b5im
36.6b2(*.f64 im im)
36.6b2(*.f64 im im)
Compiler

Compiled 101 to 66 computations (34.7% saved)

bsearch354.0ms (2.6%)

Algorithm
binary-search
Steps
TimeLeftRight
73.0ms
2.7563346312568003e-60
5.178475545368896e-53
159.0ms
-6.259835303791085e-191
-9.204479791767707e-194
58.0ms
-799693.4838634767
-413862.2983786176
63.0ms
-5.580850603196456e+49
-9.735315384809435e+32
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes91.0ms (0.7%)

Counts
14 → 3
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im 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)))
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
Outputs
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Calls

4 calls:

45.0ms
im
22.0ms
re
11.0ms
(*.f64 im im)
9.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
32.8b3re
34.0b2im
36.6b2(*.f64 im im)
36.6b2(*.f64 im im)
Compiler

Compiled 94 to 60 computations (36.2% saved)

bsearch88.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
9.010547225204561e-83
6.940739278080623e-80
63.0ms
-1.046441282610084e+39
-2.1154490003786677e+27
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes30.0ms (0.2%)

Counts
11 → 2
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im im)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Outputs
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Calls

3 calls:

14.0ms
re
6.0ms
im
4.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
40.9b2re
44.8b1im
44.8b1(*.f64 im im)
Compiler

Compiled 70 to 44 computations (37.1% saved)

bsearch25.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
6.395369297180332e-307
2.0158175431953837e-285
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes85.0ms (0.6%)

Counts
10 → 2
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(fabs.f64 im)
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
(*.f64 1/2 (cbrt.f64 (+.f64 im im)))
Outputs
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(fabs.f64 im)
Calls

4 calls:

46.0ms
(*.f64 im im)
16.0ms
im
12.0ms
re
7.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
57.4b2re
57.6b2im
57.4b2(*.f64 im im)
57.4b2(*.f64 im im)
Compiler

Compiled 69 to 42 computations (39.1% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.0510659650039865e-305
1.75048498083632e-304
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes21.0ms (0.1%)

Counts
7 → 1
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
Outputs
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
Calls

4 calls:

6.0ms
re
5.0ms
im
4.0ms
(*.f64 im im)
4.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
58.8b1re
58.8b1im
58.8b1(*.f64 im im)
58.8b1(*.f64 im im)
Compiler

Compiled 55 to 35 computations (36.4% saved)

regimes15.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
Outputs
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
Calls

3 calls:

5.0ms
re
5.0ms
im
3.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
58.8b1re
58.8b1im
58.8b1(*.f64 im im)
Compiler

Compiled 41 to 26 computations (36.6% saved)

regimes42.0ms (0.3%)

Accuracy

Total -4.0b remaining (-6.9%)

Threshold costs -4.0b (-6.9%)

Counts
3 → 2
Calls
Call 1
Inputs
0
im
(*.f64 1/2 (+.f64 im im))
Outputs
0
im
Calls

2 calls:

37.0ms
im
4.0ms
re
Results
ErrorSegmentsBranch
59.3b1re
58.2b2im
Compiler

Compiled 15 to 10 computations (33.3% saved)

bsearch60.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
60.0ms
1.011229484841618e-259
4.6799623344712713e-259
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify34.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0108706
1137686
2147686
3150686
4151686
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -1046441282610084024296123799492156719104) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -871633574822204416/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -871633574822204416/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))
(if (<=.f64 re -1046441282610084024296123799492156719104) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (if (<=.f64 re 6158851859068823/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 re 4045116114005283/6325070415853456823515479584966165845298645305129441198653167438357198111499854590373761990669910140474596183259900372230931523043306046152094168748148078435047419508642698792639590866940413010663742739952273283392562733857021646831815729864036236135650314266011211548510419206725953204130822734645187695728365866909171712) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))
(if (<=.f64 (*.f64 im im) 7906338019816821/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (fabs.f64 im))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(if (<=.f64 im 3501110110224141/34622310392506957584946940144288832324819178359103260074178033026772100877957520390515409281853501465865381150278099185099233529659567999369251322492547208112268029722558797196081988742442283240850996127872528443254245182193766350116513179157596502523218400437714157458948096) 0 im)
0
Outputs
(if (<=.f64 re -1046441282610084024296123799492156719104) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -871633574822204416/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -851204662912309/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -851204662912309/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -871633574822204416/772103322247736428651791941524190166662432288223808740069966728315087660095197093551484618001698015194652854401843307157096133183997320086925557708514169730840749451738610692460887556999562135090788908685580234789131193097780962748024381086918485856402626253175196722230275782071039209488625822100242638638716536487936) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -851204662912309/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -3356835309712105/5043456793138493339171717132818382567050206626619577173497381555743452386751642958261026080625269202023248382759272448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -851204662912309/754007150632555106105265567894716959631281531468563222724576883120202793061715911671371697267283217963528178126800104645601692562497382897388239949720868877774169386463487004356335504882384897549598543638261948036260930759551721433617559655193833844143189700366403049053003693428749228016236154394768201795621617664) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1 re))))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 -1 re)) im)) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3246892303842145/799167628880894011233688890827050574271641124522232614619944181664095165137859998750798362384253944616915694367080095461234681773897801038410285056) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4658882957545457/231584178474632390847141970017375815706539969331281128078915168015826259279872) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re)))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -3434657360017936/4294967296) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 319161745590392448/115792089237316195423570985008687907853269984665640564039457584007913129639936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 im -55808506031964559121540151585281954942006132211712) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -214666085001121/268435456) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5024350649910195/80263304161809898486953580976564463280492245526476651908848280381297792881730359224146523075524726123458602430056430323990164676669064390001339947061948865508349970567755807467524166227482951618519489314816) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 2493451137424941/904625697166532776746648320380374280103671755200316906558262375061821325312) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 re -1046441282610084024296123799492156719104) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (if (<=.f64 re 6158851859068823/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 re -1046441282610084024296123799492156719104) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (if (<=.f64 re 6158851859068823/68351585149469122636640694597425667667286544715412888638305331450311031224980497600734786781970432) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 re 4045116114005283/6325070415853456823515479584966165845298645305129441198653167438357198111499854590373761990669910140474596183259900372230931523043306046152094168748148078435047419508642698792639590866940413010663742739952273283392562733857021646831815729864036236135650314266011211548510419206725953204130822734645187695728365866909171712) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))
(if (<=.f64 (*.f64 im im) 7906338019816821/197658450495420525734858737030192682665582665785295037457911482448662440984370455949180062208434691889831130726871886632216610095103313942252942773379627451095231859645084337269987214591887906583241960623508540106017585433031926463494241558251132379239072320812850360890950600210186037629088210457662115491511433340911616) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (fabs.f64 im))
(*.f64 1/2 (-.f64 (+.f64 1 (+.f64 im im)) 1))
(*.f64 1/2 (+.f64 (+.f64 1 (+.f64 im im)) -1))
(*.f64 1/2 (+.f64 -1 (+.f64 1 (+.f64 im im))))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
(if (<=.f64 im 3501110110224141/34622310392506957584946940144288832324819178359103260074178033026772100877957520390515409281853501465865381150278099185099233529659567999369251322492547208112268029722558797196081988742442283240850996127872528443254245182193766350116513179157596502523218400437714157458948096) 0 im)
0
Compiler

Compiled 484 to 373 computations (22.9% saved)

soundness131.0ms (0.9%)

Algorithm
egg-herbie
Rules
760×distribute-rgt-in_binary64
750×distribute-lft-in_binary64
377×fma-def_binary64
296×associate-*r*_binary64
245×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
23415
33615
03883826
112003318
246442809
01315
12515
23415
33615
Stop Event
saturated
node limit
saturated
Compiler

Compiled 300 to 244 computations (18.7% saved)

end223.0ms (1.6%)

Compiler

Compiled 460 to 338 computations (26.5% saved)

Profiling

Loading profile data...