Details

Time bar (total: 10.8s)

analyze255.0ms (2.4%)

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

Compiled 18 to 13 computations (27.8% saved)

sample2.2s (20.2%)

Results
1.1s6414×body256valid
388.0ms626×body2048valid
384.0ms546×body4096valid
208.0ms423×body1024valid
73.0ms247×body512valid
Bogosity

preprocess22.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01930
14530
25530
35930
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 im (hypot.f64 re im)))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify9.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

3 alts after pruning (3 fresh and 0 done)

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

Compiled 29 to 21 computations (27.6% saved)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series12.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

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

rewrite83.0ms (0.8%)

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
0819
117819
2236119
Stop Event
node limit
Counts
2 → 55
Calls
Call 1
Inputs
(+.f64 re (hypot.f64 re im))
(sqrt.f64 (*.f64 2 (+.f64 re (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))))))))

simplify92.0ms (0.9%)

Algorithm
egg-herbie
Rules
753×distribute-rgt-in_binary64
620×associate-*r*_binary64
577×associate-*l*_binary64
572×fma-def_binary64
282×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0129926
1375872
21203816
35786778
Stop Event
node limit
Counts
87 → 101
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)))))
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))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (*.f64 (/.f64 re im) re) 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)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) (+.f64 im re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im (fma.f64 1/2 (*.f64 (/.f64 re im) re) re)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 re 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))
(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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 re 2 (*.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 (/.f64 im re) im) -1/2 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)) (*.f64 (/.f64 -1/16 (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 (*.f64 (/.f64 im re) im) -1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/128) (pow.f64 re 7)))))
(*.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 re 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))
(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 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 re 2 (*.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))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (*.f64 (/.f64 re im) re) 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)) (fma.f64 1/2 (/.f64 re (/.f64 im re)) (+.f64 im re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im (fma.f64 1/2 (*.f64 (/.f64 re im) re) 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 (-.f64 (/.f64 (*.f64 (*.f64 re re) -1/2) im) 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 (-.f64 (/.f64 (*.f64 (*.f64 re re) -1/2) im) im) (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 re))
(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))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (-.f64 re (fma.f64 1/2 (*.f64 (/.f64 re im) re) im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re 1/2))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2)))))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im)))) re)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (*.f64 re re) (*.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 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2))))) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) -1/4)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (*.f64 re re) (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im)))) re))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 -1/4 (+.f64 (/.f64 1/2 im) (*.f64 -1/2 (/.f64 1/2 im)))) (pow.f64 re 3))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (*.f64 re re) (*.f64 1/2 (/.f64 1/2 im))) re)) (+.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (*.f64 -1/4 (*.f64 1/2 (/.f64 1/2 im))) (pow.f64 re 3))))))
(*.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 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (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)))))))
(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 (pow.f64 re 3)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 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 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 4)) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (*.f64 (*.f64 1/2 (pow.f64 im 6)) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re))))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (*.f64 (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))))))) (fma.f64 2 (sqrt.f64 re) (*.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 (*.f64 (pow.f64 im 4) (/.f64 1 (pow.f64 re 3))) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))) (*.f64 (pow.f64 im 6) (*.f64 1/2 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (*.f64 (/.f64 1 (pow.f64 re 3)) (+.f64 1/8 (*.f64 (/.f64 1/4 (sqrt.f64 2)) (/.f64 1/4 (sqrt.f64 2))))) (*.f64 re re))))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))

localize157.0ms (1.5%)

Local error

Found 3 expressions with local error:

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

Compiled 77 to 19 computations (75.3% saved)

series8.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite91.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

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

simplify126.0ms (1.2%)

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

Useful iterations: 2 (0.0ms)

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

eval238.0ms (2.2%)

Compiler

Compiled 5713 to 3825 computations (33% saved)

prune57.0ms (0.5%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New27511286
Fresh000
Picked101
Done011
Total27612288
Error
5.2b
Counts
288 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
45.4b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2)))))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
46.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
59.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
43.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 im im) (/.f64 re -1/2)))))
32.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
47.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Compiler

Compiled 262 to 213 computations (18.7% saved)

localize32.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

Compiled 56 to 28 computations (50% saved)

series36.0ms (0.3%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
8.0ms
re
@-inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
5.0ms
im
@0
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
5.0ms
re
@inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
4.0ms
im
@inf
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
4.0ms
re
@0
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)

rewrite72.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
506×prod-diff_binary64
479×log-prod_binary64
289×pow2_binary64
278×pow-prod-down_binary64
214×pow-to-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify128.0ms (1.2%)

Algorithm
egg-herbie
Rules
413×fma-def_binary64
401×associate-*r*_binary64
334×associate-*l*_binary64
320×*-commutative_binary64
303×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04504914
114424204
254253530
Stop Event
node limit
Counts
99 → 145
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 5/16 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 im))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 5) im)) 1/3) (*.f64 (-.f64 (*.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (sqrt.f64 8))))) (pow.f64 re 3)) (*.f64 (pow.f64 (sqrt.f64 2) 2) im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)))
(+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6)))))))) (+.f64 (*.f64 1/4 (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 4)))) (pow.f64 im 2))) (*.f64 1/512 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 6))))) (pow.f64 re 6)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3)
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)))) (pow.f64 im 2))) (*.f64 -1/512 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 6))))) (pow.f64 re 6)))))))
(*.f64 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 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -9/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 3/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 im 4)) re)) (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -9/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 3/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 im 4)) re)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 35/128 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (+.f64 (*.f64 1/64 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 1/4 (/.f64 (-.f64 (*.f64 -9/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 3/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 re 2))))) (pow.f64 im 6)) re)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 17)) 1/9) (pow.f64 re 2)))) re)) (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/3) (pow.f64 re 3))))) (pow.f64 im 3)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) 1/3))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/3) (pow.f64 re 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) re)))) (pow.f64 im 3)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)))))
(*.f64 8 (sqrt.f64 (pow.f64 re 3)))
(+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2)))))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))) (*.f64 35/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 6))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2))) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 re (*.f64 (sqrt.f64 8) (pow.f64 im 1/6))) (*.f64 1/2 (cbrt.f64 1/2))))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/3 (/.f64 (+.f64 (*.f64 (*.f64 9/8 (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im))) (*.f64 -3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6))))) (/.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2)) (*.f64 re re))) (fma.f64 1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2))) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 re (*.f64 (sqrt.f64 8) (pow.f64 im 1/6))) (*.f64 1/2 (cbrt.f64 1/2)))) (*.f64 1/6 (/.f64 (*.f64 (fma.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 -3/4 (cbrt.f64 (/.f64 1 (sqrt.f64 2)))) (*.f64 8 (pow.f64 (pow.f64 im 5) 1/6)))) (*.f64 re re)) im)))
(+.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 re (*.f64 (sqrt.f64 8) (pow.f64 im 1/6))) (*.f64 1/2 (cbrt.f64 1/2)))) (*.f64 1/6 (/.f64 (*.f64 (fma.f64 (sqrt.f64 8) (*.f64 (sqrt.f64 (/.f64 1 im)) 9/8) (*.f64 3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) (*.f64 (pow.f64 (pow.f64 im 5) 1/6) -8)))) (*.f64 re re)) im)))
(+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) im))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 5/16 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/8 (*.f64 (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 im))) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 5) im)) 1/3) (*.f64 (-.f64 (*.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (sqrt.f64 8))))) (pow.f64 re 3)) (*.f64 (pow.f64 (sqrt.f64 2) 2) im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/3 (/.f64 (+.f64 (*.f64 (*.f64 9/8 (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im))) (*.f64 -3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6))))) (/.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2)) (*.f64 re re))) (fma.f64 1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2))) (*.f64 (*.f64 re (sqrt.f64 8)) (pow.f64 im 1/6))) (fma.f64 1/3 (/.f64 (-.f64 (*.f64 (*.f64 5/16 (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/8 (/.f64 (*.f64 (pow.f64 (sqrt.f64 8) 3) (sqrt.f64 im)) (pow.f64 (sqrt.f64 2) 2)) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im (pow.f64 (sqrt.f64 2) 5)))) (*.f64 (sqrt.f64 8) (+.f64 (*.f64 (*.f64 9/8 (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im))) (*.f64 -3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 (pow.f64 im 5) 1/6))))))))) (/.f64 (*.f64 im (pow.f64 (sqrt.f64 2) 2)) (pow.f64 re 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (fma.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 -3/4 (cbrt.f64 (/.f64 1 (sqrt.f64 2)))) (*.f64 8 (pow.f64 (pow.f64 im 5) 1/6)))) (*.f64 re re)) im)) (fma.f64 1/2 (*.f64 (cbrt.f64 1/2) (*.f64 re (*.f64 (sqrt.f64 8) (pow.f64 im 1/6)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/6 (/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 5/16)) (fma.f64 (cbrt.f64 (/.f64 (/.f64 1 im) (pow.f64 (sqrt.f64 2) 5))) (*.f64 (sqrt.f64 8) (fma.f64 9/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 -3/4 (cbrt.f64 (/.f64 1 (sqrt.f64 2)))) (*.f64 8 (pow.f64 (pow.f64 im 5) 1/6))))) (*.f64 (sqrt.f64 im) (*.f64 1/8 (/.f64 (sqrt.f64 8) 1/4))))) (pow.f64 re 3)) im)))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 (fma.f64 (sqrt.f64 8) (*.f64 (sqrt.f64 (/.f64 1 im)) 9/8) (*.f64 3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) (*.f64 (pow.f64 (pow.f64 im 5) 1/6) -8)))) (*.f64 re re)) im)) (fma.f64 1/2 (*.f64 (cbrt.f64 1/2) (*.f64 re (*.f64 (sqrt.f64 8) (pow.f64 im 1/6)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/6 (/.f64 (*.f64 (+.f64 (*.f64 (sqrt.f64 8) (-.f64 (*.f64 5/16 (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (fma.f64 (sqrt.f64 8) (*.f64 (sqrt.f64 (/.f64 1 im)) 9/8) (*.f64 3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) (*.f64 (pow.f64 (pow.f64 im 5) 1/6) -8)))) (cbrt.f64 (/.f64 (/.f64 1 im) (pow.f64 (sqrt.f64 2) 5)))))) (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 8) 1/4) -1/8))) (pow.f64 re 3)) im)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))
(fma.f64 1/8 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))) (/.f64 (*.f64 im im) (*.f64 re re))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))))
(fma.f64 1/8 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))) (*.f64 (/.f64 im re) (/.f64 im re))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))))
(*.f64 (+.f64 (*.f64 1/8 (*.f64 (/.f64 im re) (/.f64 im re))) 1) (cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2))))
(+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)))
(fma.f64 1/8 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))) (/.f64 (*.f64 im im) (*.f64 re re))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) -9/4)))) (*.f64 3/64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (pow.f64 im 4)))) (pow.f64 re 4))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))))
(fma.f64 1/8 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))) (*.f64 (/.f64 im re) (/.f64 im re))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) 2))) (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)) (*.f64 (*.f64 (pow.f64 im 4) -3/64) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))) (pow.f64 re 4))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))))
(+.f64 (*.f64 (+.f64 (*.f64 1/8 (*.f64 (/.f64 im re) (/.f64 im re))) 1) (cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)))) (*.f64 (/.f64 (*.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (-.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)) (*.f64 3/64 (pow.f64 im 4)))) (pow.f64 re 4)) (*.f64 1/3 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (+.f64 (log.f64 4) (log.f64 re)) 3)))))))
(+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 im 2))) (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6)))))))) (+.f64 (*.f64 1/4 (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 4)))) (pow.f64 im 2))) (*.f64 1/512 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 6))))) (pow.f64 re 6)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/2 (pow.f64 im 4)) (*.f64 -3/4 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 3/128 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4)))))) (fma.f64 1/4 (*.f64 (*.f64 im im) (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) -9/4)))) (*.f64 3/64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (pow.f64 im 4))))) (*.f64 (*.f64 1/512 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))) (pow.f64 im 6)))) (pow.f64 re 6))) (fma.f64 1/8 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))) (/.f64 (*.f64 im im) (*.f64 re re))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) -9/4)))) (*.f64 3/64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (pow.f64 im 4)))) (pow.f64 re 4))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/480 (*.f64 (pow.f64 im 6) 75/2) (*.f64 9/1024 (pow.f64 im 6))))) (fma.f64 1/4 (*.f64 im (*.f64 im (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)) (*.f64 (*.f64 (pow.f64 im 4) -3/64) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))))) (*.f64 (*.f64 1/512 (pow.f64 im 6)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))))) (pow.f64 re 6))) (fma.f64 1/8 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))) (*.f64 (/.f64 im re) (/.f64 im re))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) 2))) (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)) (*.f64 (*.f64 (pow.f64 im 4) -3/64) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))) (pow.f64 re 4))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (+.f64 (log.f64 4) (log.f64 re)) 3)))) (/.f64 (+.f64 (*.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (-.f64 (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (+.f64 (*.f64 (pow.f64 im 6) 17/1024) (*.f64 (pow.f64 im 6) 9/128))) (*.f64 1/512 (pow.f64 im 6)))) (*.f64 (*.f64 im im) (*.f64 (*.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (-.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)) (*.f64 3/64 (pow.f64 im 4)))) -1/4))) (pow.f64 re 6))) (+.f64 (*.f64 (+.f64 (*.f64 1/8 (*.f64 (/.f64 im re) (/.f64 im re))) 1) (cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)))) (*.f64 (/.f64 (*.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (-.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)) (*.f64 3/64 (pow.f64 im 4)))) (pow.f64 re 4)) (*.f64 1/3 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (+.f64 (log.f64 4) (log.f64 re)) 3))))))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))))
(fma.f64 -1/8 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))))
(*.f64 (+.f64 (*.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re))) 1) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2))))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3)))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))) (fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2))) (+.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4)))) (*.f64 -3/64 (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))))) (pow.f64 re 4)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))))
(fma.f64 -1/8 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2))) (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (*.f64 (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) -3/64)) (pow.f64 re 4))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/8 (*.f64 (/.f64 im re) (/.f64 im re))) 1) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)))) (*.f64 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))) 3)))) (*.f64 (/.f64 (*.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (-.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (*.f64 3/64 (pow.f64 im 4)))) (pow.f64 re 4)) 1/3)))
(+.f64 (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1) 1/3) (/.f64 (pow.f64 im 2) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)))) (pow.f64 re 4)))) (+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 1/3) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (*.f64 3/64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 4)))) (pow.f64 im 2))) (*.f64 -1/512 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 6))))) (pow.f64 re 6)))))))
(fma.f64 -1/8 (*.f64 (/.f64 (*.f64 im im) (*.f64 re re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))) (+.f64 (fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2))) (+.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4)))) (*.f64 -3/64 (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))))) (pow.f64 re 4)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) 2)))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 (*.f64 -3/128 (*.f64 (pow.f64 im 4) 9/4)) (*.f64 im im))))) (fma.f64 -1/4 (*.f64 (*.f64 im im) (+.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4)))) (*.f64 -3/64 (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))))) (*.f64 (*.f64 -1/512 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 6)))) (pow.f64 re 6)))))
(fma.f64 -1/8 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2))) (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (*.f64 (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) -3/64)) (pow.f64 re 4))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (fma.f64 (pow.f64 im 6) -9/1024 (fma.f64 1/480 (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 (pow.f64 im 8) 1/64)) im)))) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4))))) (fma.f64 -1/4 (*.f64 im (*.f64 im (fma.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (*.f64 (*.f64 (pow.f64 im 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) -3/64)))) (*.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 (pow.f64 im 6) -1/512)))) (pow.f64 re 6))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))))))
(fma.f64 -1/8 (*.f64 (*.f64 (/.f64 im re) (/.f64 im re)) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)))) (+.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2))) (*.f64 (*.f64 1/3 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))) 3))))) (+.f64 (/.f64 (*.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (-.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (*.f64 3/64 (pow.f64 im 4)))) (pow.f64 re 4)) (/.f64 (+.f64 (*.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (-.f64 (fma.f64 (pow.f64 im 6) -9/1024 (fma.f64 1/480 (+.f64 (*.f64 -720 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (*.f64 im im))) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4)))) (*.f64 -1/512 (pow.f64 im 6)))) (*.f64 (*.f64 im im) (*.f64 1/4 (*.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (-.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (*.f64 3/64 (pow.f64 im 4))))))) (pow.f64 re 6))))))
(*.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -9/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 3/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 im 4)) re)) (*.f64 2 (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/12 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) -15/16) (/.f64 re (pow.f64 im 4))) (*.f64 2 (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (/.f64 (*.f64 1/12 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -15/16 (pow.f64 im 4)))) re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -9/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 3/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 im 4)) re)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 35/128 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (+.f64 (*.f64 1/64 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (*.f64 1/4 (/.f64 (-.f64 (*.f64 -9/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 3/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (pow.f64 re 2))))) (pow.f64 im 6)) re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/12 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) -15/16) (/.f64 re (pow.f64 im 4))) (fma.f64 2 (sqrt.f64 re) (*.f64 1/12 (/.f64 (-.f64 (*.f64 35/128 (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (fma.f64 1/64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 1/4 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) -15/16) (*.f64 re re))))) (/.f64 re (pow.f64 im 6)))))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 1/12 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (/.f64 re (pow.f64 im 4)) -15/16)) (fma.f64 1/12 (*.f64 (/.f64 (-.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) 33/128) (*.f64 1/4 (*.f64 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) re) (/.f64 -15/16 re)))) re) (pow.f64 im 6)) (*.f64 2 (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 1/12 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (/.f64 re (pow.f64 im 4)) -15/16)) (fma.f64 1/12 (*.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) 33/128 (*.f64 -1/4 (*.f64 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) re) (/.f64 -15/16 re)))) re) (pow.f64 im 6)) (*.f64 2 (sqrt.f64 re)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3)))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 7) 1/18)) (/.f64 re im)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re)))) (*.f64 (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 17) 1/18))) (*.f64 re re))) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 7) 1/18)) (/.f64 re im)) (fma.f64 1/3 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 2))) (/.f64 (*.f64 im im) (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) (fma.f64 9/8 (*.f64 re re) 0) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 17) 1/18) (*.f64 re re))))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 7) 1/18)) (/.f64 re im)) (fma.f64 1/3 (*.f64 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (+.f64 (log.f64 2) (log.f64 im)) 3)))) (/.f64 (*.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 9/8) (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 17) 1/18))))) (*.f64 im im))) (cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 17)) 1/9) (pow.f64 re 2)))) re)) (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 7)) 1/3) (pow.f64 re 3))))) (pow.f64 im 3)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)) 1/3))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 1/3))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 7) 1/18)) (/.f64 re im)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re)))) (*.f64 (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 17) 1/18))) (*.f64 re re))) (*.f64 im im))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (fma.f64 1/4 (*.f64 (pow.f64 re 3) -1) (fma.f64 9/16 (pow.f64 re 3) (*.f64 (*.f64 9/8 re) (*.f64 0 (*.f64 re re)))))) (fma.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 4) 1/18)) (*.f64 re (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re)))) (*.f64 (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 17) 1/18))) (*.f64 re re)))) (*.f64 1/8 (*.f64 (pow.f64 re 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) 7)))))) (pow.f64 im 3))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))))
(fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 7) 1/18)) (/.f64 re im)) (fma.f64 1/3 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 2))) (/.f64 (*.f64 im im) (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) (fma.f64 9/8 (*.f64 re re) 0) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 17) 1/18) (*.f64 re re))))))) (fma.f64 1/3 (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) (+.f64 (*.f64 (pow.f64 re 3) -1/4) (fma.f64 (pow.f64 re 3) 9/16 (*.f64 re 0)))) (fma.f64 1/8 (*.f64 (pow.f64 re 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 7))) (*.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) (fma.f64 9/8 (*.f64 re re) 0) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 17) 1/18) (*.f64 re re))))) (*.f64 re (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 4) 1/18)))))) (/.f64 (pow.f64 im 3) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) 2))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))))))
(+.f64 (*.f64 (*.f64 1/3 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (+.f64 (log.f64 2) (log.f64 im)) 3))))) (+.f64 (/.f64 (-.f64 (fma.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) (fma.f64 (pow.f64 re 3) 9/16 (*.f64 (pow.f64 re 3) -1/4)) (*.f64 (pow.f64 re 3) (*.f64 -1/8 (cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 7))))) (*.f64 (*.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 9/8) (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 17) 1/18))))) (*.f64 re (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 4) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 4) 1/18))))) (pow.f64 im 3)) (/.f64 (*.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 9/8) (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 17) 1/18))))) (*.f64 im im)))) (fma.f64 1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))))
(fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (/.f64 re im))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (/.f64 re im))) (cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (/.f64 (+.f64 (*.f64 (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/4 (*.f64 (*.f64 re re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))) (/.f64 (fma.f64 (fma.f64 9/8 (*.f64 re re) 0) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 (*.f64 (*.f64 re re) -3/4) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18)))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (/.f64 re im))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))) 3)))) (/.f64 (*.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 9/8) (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (/.f64 re im))) (cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/3) (pow.f64 re 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) re)))) (pow.f64 im 3)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (/.f64 (+.f64 (*.f64 (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/4 (*.f64 (*.f64 re re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (/.f64 (-.f64 (*.f64 (fma.f64 1/4 (*.f64 (pow.f64 re 3) -1) (fma.f64 9/16 (pow.f64 re 3) (*.f64 (*.f64 9/8 re) (*.f64 0 (*.f64 re re))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (fma.f64 1/8 (*.f64 (pow.f64 re 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7))) (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 4) 1/18)) (*.f64 re (+.f64 (*.f64 (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/4 (*.f64 (*.f64 re re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18))))))))) (pow.f64 im 3))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))) (/.f64 (fma.f64 (fma.f64 9/8 (*.f64 re re) 0) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 (*.f64 (*.f64 re re) -3/4) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18)))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (/.f64 re im))) (fma.f64 -1/3 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))) (/.f64 (pow.f64 im 3) (-.f64 (*.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/4) (fma.f64 (pow.f64 re 3) 9/16 (*.f64 re 0))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (fma.f64 1/8 (*.f64 (pow.f64 re 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7))) (*.f64 (fma.f64 (fma.f64 9/8 (*.f64 re re) 0) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 (*.f64 (*.f64 re re) -3/4) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18)))) (*.f64 re (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 4) 1/18)))))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))) 3)))) (/.f64 (*.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 9/8) (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (/.f64 re im))) (fma.f64 -1/3 (/.f64 (cbrt.f64 (exp.f64 (neg.f64 (*.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))) 3)))) (/.f64 (pow.f64 im 3) (-.f64 (fma.f64 (fma.f64 (pow.f64 re 3) 9/16 (*.f64 (pow.f64 re 3) -1/4)) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (*.f64 (pow.f64 re 3) (*.f64 -1/8 (cbrt.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7))))) (*.f64 (*.f64 (*.f64 re re) (-.f64 (*.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 9/8) (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18))))) (*.f64 re (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 4) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 4) 1/18))))))) (cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(*.f64 (sqrt.f64 8) (pow.f64 im 3/2))
(+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 3/2 re) (sqrt.f64 8))))
(fma.f64 (sqrt.f64 8) (pow.f64 im 3/2) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 3/2 re) (sqrt.f64 8))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 8) (*.f64 re re))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 3/2 re) (sqrt.f64 8)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 8) (pow.f64 im 3/2) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 3/2 re) (sqrt.f64 8)))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 8) (*.f64 re re))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 5/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 8) (pow.f64 re 3))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 8) 5/16) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (fma.f64 3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 (*.f64 (*.f64 (sqrt.f64 8) 5/16) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))
(*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))))
(fma.f64 3/8 (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) -9/4)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)))))
(+.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (fma.f64 3/8 (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) -9/4))))))) (/.f64 (fma.f64 9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 3/128 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (fma.f64 3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64))))) (*.f64 (/.f64 (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (fma.f64 1/480 (*.f64 (pow.f64 im 6) 75/2) (*.f64 9/1024 (pow.f64 im 6)))) (pow.f64 re 6)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (log.f64 re)))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (*.f64 re re)) (*.f64 im im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64)))) (*.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 4 3/2)) (+.f64 1 (/.f64 (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (+.f64 (*.f64 (pow.f64 im 6) 17/1024) (*.f64 (pow.f64 im 6) 9/128))) (pow.f64 re 6)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (*.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)))) (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)))))
(+.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 6) (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 (*.f64 -3/128 (*.f64 (pow.f64 im 4) 9/4)) (*.f64 im im)))))))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (+.f64 (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -9/1024 (fma.f64 1/480 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (*.f64 (/.f64 -720 im) (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) im)))) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4)))))))
(+.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (+.f64 (fma.f64 -3/8 (/.f64 (*.f64 im im) (/.f64 (*.f64 re re) (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (pow.f64 re 4)) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 3/2) (pow.f64 (/.f64 -1 re) 3/2)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -9/1024 (fma.f64 1/480 (+.f64 (*.f64 -720 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (*.f64 im im))) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4)))))))
(*.f64 8 (sqrt.f64 (pow.f64 re 3)))
(*.f64 8 (fabs.f64 (pow.f64 re 3/2)))
(*.f64 8 (pow.f64 re 3/2))
(+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))))
(fma.f64 8 (sqrt.f64 (pow.f64 re 3)) (*.f64 3 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 8 (fabs.f64 (pow.f64 re 3/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) 3)))
(fma.f64 8 (pow.f64 re 3/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) 3)))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2)))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (sqrt.f64 (pow.f64 re 3)) (*.f64 3 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (fabs.f64 (pow.f64 re 3/2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) 3))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (pow.f64 re 3/2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) 3))))
(+.f64 (*.f64 -9/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 4))) (+.f64 (*.f64 8 (sqrt.f64 (pow.f64 re 3))) (+.f64 (*.f64 3 (*.f64 (sqrt.f64 (/.f64 1 re)) (pow.f64 im 2))) (*.f64 35/128 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 im 6))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (sqrt.f64 (pow.f64 re 3)) (fma.f64 3 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 re))) (*.f64 35/128 (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (fabs.f64 (pow.f64 re 3/2)) (fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 35/128 (pow.f64 im 6))))))
(fma.f64 -9/16 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 8 (pow.f64 re 3/2) (fma.f64 3 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 35/128 (pow.f64 im 6))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re))))))
(+.f64 (fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (fma.f64 9/8 (*.f64 re re) 0) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))))
(+.f64 (*.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) (*.f64 im im)) 1) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(+.f64 (*.f64 3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (/.f64 (fma.f64 9/16 (pow.f64 re 3) (fma.f64 1/4 (*.f64 (pow.f64 re 3) -1) (*.f64 (*.f64 9/8 re) (*.f64 0 (*.f64 re re))))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re))))))))
(+.f64 (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/4) (fma.f64 (pow.f64 re 3) 9/16 (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (+.f64 (fma.f64 3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (fma.f64 9/8 (*.f64 re re) 0) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))))
(+.f64 (*.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)) (+.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) (*.f64 im im)) (/.f64 (fma.f64 (pow.f64 re 3) 9/16 (*.f64 (pow.f64 re 3) -1/4)) (pow.f64 im 3)))) (fma.f64 3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re))))
(fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (/.f64 im re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 -3/2 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im re)) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (/.f64 im (/.f64 (fma.f64 9/8 (*.f64 re re) 0) im)))))
(+.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (fma.f64 -3/2 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im re)) (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im (/.f64 (*.f64 re (*.f64 re 9/8)) im)))))
(+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 9/16 (pow.f64 re 3)) (+.f64 (*.f64 1/4 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)))))
(fma.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 9/16 (pow.f64 re 3) (fma.f64 1/4 (*.f64 (pow.f64 re 3) -1) (*.f64 (*.f64 9/8 re) (*.f64 0 (*.f64 re re)))))) (pow.f64 im 3)) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 9/8 (*.f64 re re))))))))
(-.f64 (+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (/.f64 im (/.f64 (fma.f64 9/8 (*.f64 re re) 0) im))))) (*.f64 (/.f64 (+.f64 (*.f64 (pow.f64 re 3) -1/4) (fma.f64 (pow.f64 re 3) 9/16 (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(+.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (-.f64 (fma.f64 -3/2 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im re)) (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im (/.f64 (*.f64 re (*.f64 re 9/8)) im)))) (*.f64 (/.f64 (fma.f64 (pow.f64 re 3) 9/16 (*.f64 (pow.f64 re 3) -1/4)) (pow.f64 im 3)) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))))

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)

series8.0ms (0.1%)

Counts
1 → 0
Calls

3 calls:

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

rewrite56.0ms (0.5%)

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

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize13.0ms (0.1%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize10.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series8.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite78.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify61.0ms (0.6%)

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

Useful iterations: 4 (0.0ms)

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

localize47.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 25 computations (52.8% saved)

series13.0ms (0.1%)

Counts
4 → 84
Calls

24 calls:

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

rewrite80.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
544×log-prod_binary64
394×exp-prod_binary64
352×prod-exp_binary64
305×pow-prod-down_binary64
259×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify241.0ms (2.2%)

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

Useful iterations: 0 (0.0ms)

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

eval473.0ms (4.4%)

Compiler

Compiled 11829 to 8899 computations (24.8% saved)

prune83.0ms (0.8%)

Pruning

18 alts after pruning (13 fresh and 5 done)

PrunedKeptTotal
New42210432
Fresh336
Picked101
Done055
Total42618444
Error
5.2b
Counts
444 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
46.9b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (+.f64 im im)))))
45.4b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
32.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3))
51.6b
(*.f64 1/2 (cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))
52.3b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 im -1/2) (/.f64 re im)))))
54.8b
(*.f64 1/2 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/2))
45.7b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 2))
32.5b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
45.9b
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3))
47.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
46.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
43.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2)))))
Compiler

Compiled 398 to 322 computations (19.1% saved)

localize51.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(+.f64 re (hypot.f64 re im))
0.7b
(cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
3.4b
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)
19.6b
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3)
Compiler

Compiled 117 to 59 computations (49.6% saved)

series111.0ms (1%)

Counts
3 → 40
Calls

18 calls:

TimeVariablePointExpression
36.0ms
im
@-inf
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3)
12.0ms
re
@inf
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3)
12.0ms
im
@inf
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3)
9.0ms
re
@-inf
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3)
8.0ms
im
@0
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3)

rewrite89.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
635×log-prod_binary64
506×prod-diff_binary64
359×pow2_binary64
240×expm1-udef_binary64
240×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify186.0ms (1.7%)

Algorithm
egg-herbie
Rules
601×associate-*r*_binary64
483×associate-*l*_binary64
378×*-commutative_binary64
339×unswap-sqr_binary64
326×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04843648
115123336
261683203
Stop Event
node limit
Counts
124 → 162
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)) 1/3) (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/12 (*.f64 (pow.f64 128 1/27) (*.f64 (pow.f64 (*.f64 (pow.f64 1 5) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/9) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) im) (pow.f64 1/2 1/9))))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)) 1/3) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 4 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 1/216 (*.f64 (pow.f64 128 1/18) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 28)) 1/3) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 3) (sqrt.f64 (/.f64 1 (pow.f64 im 11))))))) (*.f64 1/3 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 2) 16) 1/2) 1/9) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/12 (*.f64 (pow.f64 128 1/27) (*.f64 (pow.f64 (*.f64 (pow.f64 1 5) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/9) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))))))))))) im) (pow.f64 1/2 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)) 1/3) (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/12 (*.f64 (pow.f64 128 1/27) (*.f64 (pow.f64 (*.f64 (pow.f64 1 5) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/9) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) im) (pow.f64 1/2 1/9)))))))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) (pow.f64 (sqrt.f64 8) 5)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) (pow.f64 (sqrt.f64 8) 5)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re))) (*.f64 1/3 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1/8 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (*.f64 1/12 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (pow.f64 im 4)) re) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2))) 1/3) (pow.f64 1/2 1/9))))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) (pow.f64 (sqrt.f64 8) 5)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2))) 1/3) (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3) (*.f64 (pow.f64 re 6) (pow.f64 (sqrt.f64 8) 4)))))) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.f64 (*.f64 1/216 (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3)) (pow.f64 (sqrt.f64 8) 5)) (*.f64 (pow.f64 2 1/6) (sqrt.f64 (/.f64 1 (pow.f64 re 15)))))) (*.f64 1/3 (*.f64 (pow.f64 1 1/9) (/.f64 (*.f64 (-.f64 (*.f64 -1/8 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (*.f64 1/12 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 4 re) (*.f64 2 re))) (*.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 8) 2))))))) (pow.f64 im 6)) re) (pow.f64 1/2 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re))) (*.f64 1/3 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1/8 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (*.f64 1/12 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (pow.f64 im 4)) re) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2))) 1/3) (pow.f64 1/2 1/9)))))))
(pow.f64 (*.f64 2 im) 1/6)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (pow.f64 (*.f64 2 im) 1/6))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (pow.f64 (*.f64 2 im) 1/6)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (+.f64 (pow.f64 (*.f64 2 im) 1/6) (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6) (pow.f64 re 3))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(pow.f64 (*.f64 4 re) 1/6)
(+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2)))))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 667/82944 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)))))
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2))
(+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re)))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))))
(*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) (pow.f64 im 6)) (cbrt.f64 2)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
Outputs
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 2) 4)) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)))
(*.f64 (cbrt.f64 (*.f64 2 (cbrt.f64 2))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) 1) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 3 (*.f64 im im)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 2) 4)) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 (*.f64 im im) 3) re))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (*.f64 (cbrt.f64 (*.f64 2 (cbrt.f64 2))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)) 1/3) (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/12 (*.f64 (pow.f64 128 1/27) (*.f64 (pow.f64 (*.f64 (pow.f64 1 5) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/9) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) im) (pow.f64 1/2 1/9))))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) 1) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 3 (*.f64 im im)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 2) 4)) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)))) (*.f64 (/.f64 (*.f64 re re) (/.f64 im (+.f64 (*.f64 (*.f64 1/2 (pow.f64 2 1/6)) (*.f64 (pow.f64 (cbrt.f64 2) 4) (*.f64 (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 3 (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54)) (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18))) (*.f64 (pow.f64 (*.f64 3 (*.f64 im im)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18))))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 (*.f64 im im) 3) re))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8))) (*.f64 (*.f64 (/.f64 (*.f64 re re) im) (fma.f64 1/2 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 3/2 (*.f64 im im))) 2))) (pow.f64 2 1/6))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54))) (*.f64 (*.f64 (*.f64 9 (pow.f64 im 4)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18))))))) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)))) (*.f64 (cbrt.f64 (*.f64 2 (cbrt.f64 2))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 (*.f64 im im) 3) re))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8))) (*.f64 (*.f64 (*.f64 re re) (/.f64 (fma.f64 1/2 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (*.f64 im 9/2) (*.f64 (/.f64 1 (pow.f64 im 3)) (*.f64 (pow.f64 im 4) 9/4)))) (pow.f64 2 1/6))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54))) (*.f64 (*.f64 (*.f64 9 (pow.f64 im 4)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18)))))) im)) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)))) (*.f64 (cbrt.f64 (*.f64 2 (cbrt.f64 2))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)) 1/3) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 4 (*.f64 1/2 (/.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (pow.f64 im 3))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (+.f64 (*.f64 1/216 (*.f64 (pow.f64 128 1/18) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 28)) 1/3) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 3) (sqrt.f64 (/.f64 1 (pow.f64 im 11))))))) (*.f64 1/3 (*.f64 (pow.f64 128 1/54) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 2) 16) 1/2) 1/9) (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/12 (*.f64 (pow.f64 128 1/27) (*.f64 (pow.f64 (*.f64 (pow.f64 1 5) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/9) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))))))))))) im) (pow.f64 1/2 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)) 1/3) (*.f64 (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (+.f64 (*.f64 4 im) (*.f64 1/2 im)) (pow.f64 (*.f64 1/2 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 1/12 (*.f64 (pow.f64 128 1/27) (*.f64 (pow.f64 (*.f64 (pow.f64 1 5) 2) 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/9) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) im) (pow.f64 1/2 1/9)))))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) 1) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 3 (*.f64 im im)) (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8))) (/.f64 (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 (*.f64 1/2 (pow.f64 2 1/6)) (*.f64 (pow.f64 (cbrt.f64 2) 4) (*.f64 (+.f64 4 (*.f64 -1/2 (/.f64 (*.f64 3 (*.f64 im im)) (/.f64 (pow.f64 im 3) (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 3 (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2)))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (fma.f64 1/216 (*.f64 (pow.f64 128 1/18) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 2) 28)) (pow.f64 (*.f64 3 (*.f64 im im)) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 11))))) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 128 1/54) (cbrt.f64 (/.f64 1 (pow.f64 im 7)))) (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 2) 16)) 1/18) (pow.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 2) 16)) 1/18))) (*.f64 (*.f64 3 (*.f64 im im)) (+.f64 (*.f64 (*.f64 1/2 (pow.f64 2 1/6)) (*.f64 (pow.f64 (cbrt.f64 2) 4) (*.f64 (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 3 (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54)) (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18))) (*.f64 (pow.f64 (*.f64 3 (*.f64 im im)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))))))))) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18))) im)) (fma.f64 (cbrt.f64 (pow.f64 (cbrt.f64 2) 4)) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im)) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8)))) (*.f64 (/.f64 (*.f64 re re) (/.f64 im (+.f64 (*.f64 (*.f64 1/2 (pow.f64 2 1/6)) (*.f64 (pow.f64 (cbrt.f64 2) 4) (*.f64 (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 3 (*.f64 im im))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54)) (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18))) (*.f64 (pow.f64 (*.f64 3 (*.f64 im im)) 2) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)))))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 (*.f64 im im) 3) re))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8))) (*.f64 (/.f64 (pow.f64 re 3) im) (-.f64 (*.f64 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 4 (/.f64 (*.f64 (*.f64 3/2 (*.f64 im im)) (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 3/2 (*.f64 im im))) 2))) (pow.f64 im 3))))) (*.f64 1/2 (pow.f64 2 1/6))) (fma.f64 1/3 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (*.f64 im im) 3) (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 2) 16)) 1/18) (pow.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 2) 16)) 1/18)))) (fma.f64 1/2 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 3/2 (*.f64 im im))) 2))) (pow.f64 2 1/6))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54))) (*.f64 (*.f64 (*.f64 9 (pow.f64 im 4)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18))))))) (*.f64 (pow.f64 128 1/54) (cbrt.f64 (/.f64 1 (pow.f64 im 7))))) (*.f64 (*.f64 (*.f64 27 (pow.f64 (*.f64 im im) 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 11))) (cbrt.f64 (pow.f64 (cbrt.f64 2) 28)))) (*.f64 1/216 (pow.f64 128 1/18)))))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8))) (*.f64 (*.f64 (/.f64 (*.f64 re re) im) (fma.f64 1/2 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (*.f64 im 9/2) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 3/2 (*.f64 im im))) 2))) (pow.f64 2 1/6))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54))) (*.f64 (*.f64 (*.f64 9 (pow.f64 im 4)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18))))))) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)))) (*.f64 (cbrt.f64 (*.f64 2 (cbrt.f64 2))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 128 1/54) (*.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 28) 1/18)) (*.f64 (*.f64 (*.f64 im im) 3) re))) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8))) (*.f64 (-.f64 (*.f64 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 4 (/.f64 (*.f64 (*.f64 3/2 (*.f64 im im)) (-.f64 (*.f64 im 9/2) (*.f64 (/.f64 1 (pow.f64 im 3)) (*.f64 (pow.f64 im 4) 9/4)))) (pow.f64 im 3))))) (*.f64 1/2 (pow.f64 2 1/6))) (fma.f64 1/3 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (*.f64 im im) 3) (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 2) 16)) 1/18) (pow.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 2) 16)) 1/18)))) (fma.f64 1/2 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (*.f64 im 9/2) (*.f64 (/.f64 1 (pow.f64 im 3)) (*.f64 (pow.f64 im 4) 9/4)))) (pow.f64 2 1/6))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54))) (*.f64 (*.f64 (*.f64 9 (pow.f64 im 4)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18))))))) (*.f64 (pow.f64 128 1/54) (cbrt.f64 (/.f64 1 (pow.f64 im 7))))) (*.f64 (*.f64 (*.f64 (pow.f64 im 6) 27) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 11))) (cbrt.f64 (pow.f64 (cbrt.f64 2) 28)))) (*.f64 1/216 (pow.f64 128 1/18))))) (/.f64 (pow.f64 re 3) im)))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (cbrt.f64 2) 8))) (*.f64 (*.f64 (*.f64 re re) (/.f64 (fma.f64 1/2 (*.f64 (*.f64 2 (cbrt.f64 2)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (*.f64 im 9/2) (*.f64 (/.f64 1 (pow.f64 im 3)) (*.f64 (pow.f64 im 4) 9/4)))) (pow.f64 2 1/6))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 128 1/54) (pow.f64 128 1/54))) (*.f64 (*.f64 (*.f64 9 (pow.f64 im 4)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)) (*.f64 (pow.f64 2 1/18) (*.f64 (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18) (pow.f64 (pow.f64 (cbrt.f64 2) 68) 1/18)))))) im)) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)))) (*.f64 (cbrt.f64 (*.f64 2 (cbrt.f64 2))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 im))))))
(*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re)))
(*.f64 (pow.f64 2 1/18) (*.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) (pow.f64 (sqrt.f64 8) 5)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (sqrt.f64 8) 5))) (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (pow.f64 (sqrt.f64 8) 5))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 2 1/18) (*.f64 im (*.f64 im (*.f64 re 6)))))) (*.f64 (pow.f64 2 1/18) (*.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8))))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) (pow.f64 (sqrt.f64 8) 5)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re))) (*.f64 1/3 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1/8 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (*.f64 1/12 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (pow.f64 im 4)) re) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2))) 1/3) (pow.f64 1/2 1/9))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (sqrt.f64 8) 5))) (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re)) (*.f64 1/3 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/6) (/.f64 (pow.f64 (cbrt.f64 2) 4) (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (*.f64 re 6) 2)))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) -5/24) (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2)))))) re))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (pow.f64 (sqrt.f64 8) 5))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 2 1/18) (*.f64 im (*.f64 im (*.f64 re 6)))))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)) (/.f64 (pow.f64 (*.f64 re 6) 2) 8))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) -5/24)) (cbrt.f64 (/.f64 1/8 (pow.f64 (cbrt.f64 2) 8)))) (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 2 1/18) (*.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)))))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 (*.f64 1 (pow.f64 (cbrt.f64 2) 4)) (pow.f64 (sqrt.f64 8) 5)) 1/3) (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2))) 1/3) (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 1/2 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 (/.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3) (*.f64 (pow.f64 re 6) (pow.f64 (sqrt.f64 8) 4)))))) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))) (+.f64 (*.f64 1/216 (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3)) (pow.f64 (sqrt.f64 8) 5)) (*.f64 (pow.f64 2 1/6) (sqrt.f64 (/.f64 1 (pow.f64 re 15)))))) (*.f64 1/3 (*.f64 (pow.f64 1 1/9) (/.f64 (*.f64 (-.f64 (*.f64 -1/8 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (*.f64 1/12 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (+.f64 (*.f64 4 re) (*.f64 2 re))) (*.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 8) 2))))))) (pow.f64 im 6)) re) (pow.f64 1/2 1/9)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) 1/3) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re))) (*.f64 1/3 (*.f64 (/.f64 (*.f64 (-.f64 (*.f64 -1/8 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (*.f64 1/12 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2)) (pow.f64 (sqrt.f64 8) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))) (pow.f64 im 4)) re) (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2))) 1/3) (pow.f64 1/2 1/9)))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (pow.f64 (cbrt.f64 2) 4) (pow.f64 (sqrt.f64 8) 5))) (*.f64 (*.f64 (pow.f64 2 1/18) (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2)))) (/.f64 (-.f64 (*.f64 (*.f64 1/2 (pow.f64 2 1/6)) (*.f64 (/.f64 (pow.f64 (cbrt.f64 2) 4) (/.f64 (sqrt.f64 8) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (*.f64 1/8 (/.f64 (/.f64 (pow.f64 (*.f64 re 6) 3) (pow.f64 re 6)) (pow.f64 (sqrt.f64 8) 4)))))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 1/216 (*.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 2) 4) (/.f64 (pow.f64 (sqrt.f64 8) 5) (pow.f64 (*.f64 re 6) 3))) (pow.f64 2 1/6)) (sqrt.f64 (/.f64 1 (pow.f64 re 15)))) (*.f64 1/3 (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/6) (/.f64 (pow.f64 (cbrt.f64 2) 4) (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (*.f64 re 6) 2)))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) -5/24) (/.f64 (*.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 8) 2)) (*.f64 re 6)))))) (/.f64 re (pow.f64 im 6)))) (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18))) (fma.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 2) 4) (sqrt.f64 8))) (*.f64 (pow.f64 2 1/18) (sqrt.f64 re)) (*.f64 1/3 (/.f64 (*.f64 (*.f64 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/6) (/.f64 (pow.f64 (cbrt.f64 2) 4) (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (*.f64 re 6) 2)))) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) -5/24) (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (cbrt.f64 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 8) (pow.f64 (sqrt.f64 8) 2)))))) re)))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (pow.f64 (sqrt.f64 8) 5))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 2 1/18) (*.f64 im (*.f64 im (*.f64 re 6)))))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (/.f64 (*.f64 (cbrt.f64 (/.f64 1/8 (pow.f64 (cbrt.f64 2) 8))) (-.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)) (-.f64 (/.f64 1/8 (pow.f64 re 3)) (*.f64 -1/512 (/.f64 (*.f64 (pow.f64 re 3) 216) (pow.f64 re 6))))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/2 (pow.f64 2 1/6))) (fma.f64 1/3 (*.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)) (/.f64 (pow.f64 (*.f64 re 6) 2) 8)))) (/.f64 (pow.f64 re 3) -5/24)) (/.f64 re 4/3)) (*.f64 1/216 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 15))) (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (pow.f64 (sqrt.f64 8) 5)) (*.f64 (pow.f64 re 3) 216)))))))) (/.f64 re (pow.f64 im 6)))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)) (/.f64 (pow.f64 (*.f64 re 6) 2) 8))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) -5/24)) (cbrt.f64 (/.f64 1/8 (pow.f64 (cbrt.f64 2) 8)))) (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 2 1/18) (*.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8))))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (pow.f64 (sqrt.f64 8) 5))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 2 1/18) (*.f64 im (*.f64 im (*.f64 re 6)))))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (/.f64 (*.f64 (cbrt.f64 (/.f64 1/8 (pow.f64 (cbrt.f64 2) 8))) (-.f64 (*.f64 (*.f64 (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (*.f64 1/512 (/.f64 (*.f64 (pow.f64 re 3) 216) (pow.f64 re 6))))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 1/2 (pow.f64 2 1/6))) (fma.f64 1/3 (*.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)) (/.f64 (pow.f64 (*.f64 re 6) 2) 8)))) (/.f64 (pow.f64 re 3) -5/24)) (/.f64 re 4/3)) (*.f64 1/216 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 15))) (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (pow.f64 (sqrt.f64 8) 5)) (*.f64 (pow.f64 re 3) 216)))))))) (/.f64 re (pow.f64 im 6)))) (fma.f64 1/3 (*.f64 (*.f64 (pow.f64 1/2 1/18) (pow.f64 1/2 1/18)) (/.f64 (*.f64 (*.f64 (*.f64 (pow.f64 2 1/6) (*.f64 (/.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8)) (/.f64 (pow.f64 (*.f64 re 6) 2) 8))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) -5/24)) (cbrt.f64 (/.f64 1/8 (pow.f64 (cbrt.f64 2) 8)))) (/.f64 re (pow.f64 im 4)))) (*.f64 (pow.f64 2 1/18) (*.f64 (sqrt.f64 re) (cbrt.f64 (*.f64 (*.f64 2 (cbrt.f64 2)) (sqrt.f64 8))))))))
(pow.f64 (*.f64 2 im) 1/6)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (pow.f64 (*.f64 2 im) 1/6))
(fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6)) (pow.f64 (*.f64 2 im) 1/6))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (pow.f64 (*.f64 2 im) 1/6)))
(fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6)) (fma.f64 1/72 (*.f64 (*.f64 re re) (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6)) (pow.f64 (*.f64 2 im) 1/6)))
(fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6)) (fma.f64 1/72 (*.f64 re (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6))) (pow.f64 (*.f64 2 im) 1/6)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 1/72 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6) (pow.f64 re 2))) (+.f64 (pow.f64 (*.f64 2 im) 1/6) (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6) (pow.f64 re 3))))))
(fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6)) (+.f64 (fma.f64 1/72 (*.f64 (*.f64 re re) (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6)) (pow.f64 (*.f64 2 im) 1/6)) (*.f64 -35/1296 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6)))))
(fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 5)) 1/6)) (fma.f64 1/72 (*.f64 re (*.f64 re (pow.f64 (/.f64 2 (pow.f64 im 11)) 1/6))) (fma.f64 -35/1296 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 2 (pow.f64 im 17)) 1/6)) (pow.f64 (*.f64 2 im) 1/6))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) re)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 4))))
(+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152)))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) re)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))) (*.f64 (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64))))
(+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)))))
(fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (+.f64 (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152))))) (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) -9/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (neg.f64 (neg.f64 (log.f64 re)))))))))
(+.f64 (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))) (/.f64 (fma.f64 (pow.f64 im 6) 1/82944 (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 4) (log.f64 re))))))
(+.f64 (+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) re)) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6))) (*.f64 (/.f64 (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))) (/.f64 (fma.f64 (pow.f64 im 6) 1/82944 (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))) (/.f64 (pow.f64 re 6) (*.f64 (pow.f64 re 1/6) (pow.f64 4 1/6)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 -1/24 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))) (*.f64 re re)))
(fma.f64 -1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))))
(fma.f64 -1/24 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 -1/24 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))) (*.f64 re re))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6))) (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 -1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) (pow.f64 im 2)) (pow.f64 re 2))))))
(+.f64 (+.f64 (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (*.f64 -1/24 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))) (*.f64 re re))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4)))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 6) (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 (*.f64 -1/3456 (*.f64 (pow.f64 im 4) 9/4)) (*.f64 im im)))))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 -720 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6))) (+.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (/.f64 (pow.f64 re 4) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)))) (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 -720 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))))))
(pow.f64 (*.f64 4 re) 1/6)
(+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))
(+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6))))
(fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6))) (pow.f64 (*.f64 4 re) 1/6))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2)))))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (*.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6)))))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6))) (pow.f64 (*.f64 4 re) 1/6)))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (+.f64 (*.f64 667/82944 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (pow.f64 im 2))))))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (+.f64 (pow.f64 (*.f64 4 re) 1/6) (fma.f64 667/82944 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6)) (*.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6))))))
(+.f64 (fma.f64 667/82944 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 4 (pow.f64 re 35)) 1/6)) (*.f64 (pow.f64 (/.f64 4 (pow.f64 re 11)) 1/6) (*.f64 (*.f64 im im) 1/24))) (fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 4 (pow.f64 re 23)) 1/6)) (pow.f64 (*.f64 4 re) 1/6)))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))
(+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 1/6 (*.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) (/.f64 re im)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))))
(+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/72 0) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))))
(+.f64 (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) (/.f64 re im)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) (*.f64 im im)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 1/6 (/.f64 (*.f64 re (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(+.f64 (+.f64 (/.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (/.f64 (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (*.f64 (pow.f64 re 3) 1/1296))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))) (fma.f64 1/6 (/.f64 re (/.f64 im (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))
(+.f64 (+.f64 (fma.f64 1/6 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/72 0) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im))))) (*.f64 (/.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 (pow.f64 re 3) -1/36))) (pow.f64 im 3)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 im)))))
(+.f64 (+.f64 (fma.f64 1/6 (*.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)) (/.f64 re im)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) (*.f64 im im)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6)))) (*.f64 (/.f64 (+.f64 (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 (pow.f64 re 3) -1/36)) 0) (pow.f64 im 3)) (*.f64 (pow.f64 2 1/6) (pow.f64 im 1/6))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6)
(*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))))
(fma.f64 -1/6 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6) im) re) (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6))
(fma.f64 -1/6 (*.f64 re (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im)) (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2))))
(+.f64 (fma.f64 -1/6 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))))
(+.f64 (fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6) im) re) (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6)) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/72 0) im) (/.f64 (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6) im)))
(+.f64 (fma.f64 -1/6 (*.f64 re (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im)) (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6))) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) im) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im)))
(+.f64 (*.f64 -1/6 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3))))) (pow.f64 im 3))) (+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (pow.f64 im 2)))))
(fma.f64 -1/6 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (fma.f64 -1 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (pow.f64 im 3) (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (*.f64 (pow.f64 re 3) 1/1296))))) (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))))))))
(fma.f64 -1/6 (*.f64 (/.f64 (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6) im) re) (-.f64 (+.f64 (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 1/72 0) im) (/.f64 (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6) im))) (*.f64 (/.f64 (pow.f64 (exp.f64 (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 1/6) (pow.f64 im 3)) (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 (pow.f64 re 3) -1/36))))))
(-.f64 (+.f64 (fma.f64 -1/6 (*.f64 re (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im)) (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6))) (*.f64 (/.f64 (*.f64 re (*.f64 re 1/72)) im) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) im))) (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 (/.f64 -1 im) -1/6)) (pow.f64 im 3)) (+.f64 (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 (pow.f64 re 3) -1/36)) 0)))
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2))
(*.f64 (cbrt.f64 2) (cbrt.f64 im))
(+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))
(fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re))))
(fma.f64 1/3 (*.f64 (cbrt.f64 2) (*.f64 re (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)))) (*.f64 (cbrt.f64 2) (cbrt.f64 im)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re)))))
(fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (cbrt.f64 2)) (*.f64 (*.f64 re re) (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 2) (*.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)))) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (fma.f64 1/3 (*.f64 (cbrt.f64 2) (*.f64 re (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)))) (*.f64 (cbrt.f64 2) (cbrt.f64 im))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 re 3)) (fma.f64 1/27 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))))))) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (cbrt.f64 2)) (*.f64 (*.f64 re re) (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (fma.f64 2/3 (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) (*.f64 1/27 (cbrt.f64 (/.f64 1 (*.f64 im im))))) (*.f64 (cbrt.f64 2) (pow.f64 re 3)))) (fma.f64 1/3 (*.f64 (cbrt.f64 2) (*.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)))) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (fma.f64 1/3 (*.f64 (cbrt.f64 2) (*.f64 re (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)))) (*.f64 (cbrt.f64 2) (cbrt.f64 im)))))
(*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2))
(*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2))) (*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) (pow.f64 im 6)) (cbrt.f64 2)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 re re))) (/.f64 (-.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 1/216 (*.f64 (pow.f64 re 5) (pow.f64 (cbrt.f64 2) 6)))) (/.f64 (cbrt.f64 2) (pow.f64 im 6)))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 re re))) (/.f64 (+.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 -1/864 (pow.f64 re 5))) (/.f64 (cbrt.f64 2) (pow.f64 im 6)))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2))) (*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2)))))

localize7.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize20.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
6.4b
(/.f64 (*.f64 im im) re)
25.8b
(pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/2)
Compiler

Compiled 41 to 18 computations (56.1% saved)

series7.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

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

rewrite68.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
789×pow1_binary64
734×add-log-exp_binary64
734×log1p-expm1-u_binary64
734×expm1-log1p-u_binary64
715×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify118.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
014344
128344
265344
3153344
4344344
51046344
61998344
74737344
85537344
96332344
107621344
Stop Event
node limit
Counts
111 → 81
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im re) im)
(*.f64 im (/.f64 im re))

localize30.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (+.f64 im im) 1/4)
0.3b
(pow.f64 (pow.f64 (+.f64 im im) 1/4) 2)
Compiler

Compiled 30 to 18 computations (40% saved)

series104.0ms (1%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
54.0ms
im
@0
(pow.f64 (pow.f64 (+.f64 im im) 1/4) 2)
37.0ms
im
@-inf
(pow.f64 (pow.f64 (+.f64 im im) 1/4) 2)
12.0ms
im
@inf
(pow.f64 (pow.f64 (+.f64 im im) 1/4) 2)
1.0ms
im
@0
(pow.f64 (+.f64 im im) 1/4)
0.0ms
im
@inf
(pow.f64 (+.f64 im im) 1/4)

rewrite80.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
489×pow1_binary64
482×add-sqr-sqrt_binary64
467×add-log-exp_binary64
465×log1p-expm1-u_binary64
465×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0714
11608
219498
Stop Event
node limit
Counts
2 → 106
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (+.f64 im im) 1/4) 2)
(pow.f64 (+.f64 im im) 1/4)
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 2 im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 im (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.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 (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 2) (sqrt.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 (pow.f64 2 1/4) (pow.f64 im 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/4) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/8) (pow.f64 im 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/8) (+.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 (+.f64 im im) 1/16) (pow.f64 (+.f64 im im) 1/16))))) (#(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 2 im)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 im (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.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 (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 2) (sqrt.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 (pow.f64 2 1/4) (pow.f64 im 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/4) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/8) (pow.f64 im 1/8))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/8) (+.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 (+.f64 im im) 1/16) (pow.f64 (+.f64 im im) 1/16))))) (#(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)))))

simplify81.0ms (0.8%)

Algorithm
egg-herbie
Rules
631×fma-neg_binary64
617×associate-*l*_binary64
575×associate-*r*_binary64
504×unswap-sqr_binary64
285×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
028348
176348
2179276
3448156
41404156
56657156
Stop Event
node limit
Counts
130 → 61
Calls
Call 1
Inputs
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 2)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (log.f64 im))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
Outputs
(pow.f64 (exp.f64 (*.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)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (*.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)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (*.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)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (*.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)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(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) (log.f64 im))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(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) (log.f64 im))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(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) (log.f64 im))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(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) (log.f64 im))) 2)
(pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 2)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 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)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 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)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 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)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) 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)
(sqrt.f64 (*.f64 2 im))
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (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))
(pow.f64 (*.f64 2 im) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (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))
(pow.f64 (*.f64 2 im) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (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))
(pow.f64 (*.f64 2 im) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (log.f64 2) (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))
(pow.f64 (*.f64 2 im) 1/4)
(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) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)
(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) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)
(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) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)
(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) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)
(exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 1/4) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))
(pow.f64 (*.f64 2 im) 1/4)

localize24.0ms (0.2%)

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)

series86.0ms (0.8%)

Counts
3 → 24
Calls

9 calls:

TimeVariablePointExpression
59.0ms
im
@0
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
18.0ms
im
@inf
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
6.0ms
im
@-inf
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 im im))) 3)
1.0ms
im
@-inf
(sqrt.f64 (+.f64 im im))
1.0ms
im
@-inf
(cbrt.f64 (sqrt.f64 (+.f64 im im)))

rewrite89.0ms (0.8%)

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

simplify221.0ms (2.1%)

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

eval487.0ms (4.5%)

Compiler

Compiled 14639 to 10247 computations (30% saved)

prune111.0ms (1%)

Pruning

27 alts after pruning (19 fresh and 8 done)

PrunedKeptTotal
New48714501
Fresh358
Picked101
Done189
Total49227519
Error
5.0b
Counts
519 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
32.9b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6) 2) (pow.f64 (pow.f64 2 1/6) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3))
52.8b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 3) -1) 1/2))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
61.5b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 3))
45.4b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
60.8b
(*.f64 1/2 (cbrt.f64 (+.f64 im im)))
61.7b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/2) 3))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2)))))
61.9b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/3) 3))
32.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3))
32.9b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/3) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 im -1/2) (/.f64 re im)))))
54.8b
(*.f64 1/2 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/2))
33.5b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)) 2) 1/6)) 1/3))
59.9b
(*.f64 1/2 (fabs.f64 (+.f64 im im)))
32.5b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
59.5b
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
47.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
62.0b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 2/3) 3))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
46.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
61.3b
(*.f64 1/2 (+.f64 im im))
61.9b
(*.f64 1/2 (exp.f64 (log.f64 (+.f64 im im))))
43.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
62.1b
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
Compiler

Compiled 625 to 481 computations (23% saved)

localize82.0ms (0.8%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.6b
(+.f64 re (hypot.f64 re im))
3.2b
(pow.f64 (+.f64 re (hypot.f64 re im)) 1/6)
3.4b
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)
19.6b
(pow.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6) 2) (pow.f64 (pow.f64 2 1/6) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3)
Compiler

Compiled 176 to 108 computations (38.6% saved)

series35.0ms (0.3%)

Counts
2 → 32
Calls

12 calls:

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

rewrite83.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
794×log-prod_binary64
506×prod-diff_binary64
282×expm1-udef_binary64
282×log1p-udef_binary64
274×fma-def_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify90.0ms (0.8%)

Algorithm
egg-herbie
Rules
841×distribute-rgt-in_binary64
831×distribute-lft-in_binary64
325×associate-*r*_binary64
268×associate-*l*_binary64
254×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03542359
110802177
241402006
Stop Event
node limit
Counts
81 → 104
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im))
(+.f64 (*.f64 4/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im)))
(+.f64 (*.f64 4/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2)) 1/3) (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 16/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) im))) (*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2)) 1/3) (/.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 32 (*.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 im 3))))) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (pow.f64 (sqrt.f64 8) 14)) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 16/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/3)))) (*.f64 64/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/3) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 3) (sqrt.f64 (/.f64 1 (pow.f64 im 11))))))))) im))) (+.f64 (*.f64 4/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2)) 1/3) (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 16/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) im))) (*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im)))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/24 (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -1/64 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/96 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (pow.f64 im 4)) re)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/24 (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (*.f64 (-.f64 (/.f64 1 (pow.f64 re 3)) (*.f64 -1/64 (/.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3) (pow.f64 re 6)))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/64 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/96 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 4 re) (*.f64 2 re))) (pow.f64 re 3))) (*.f64 1/13824 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3) (sqrt.f64 (/.f64 1 (pow.f64 re 15))))))) (pow.f64 im 6)) re)) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -1/64 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/96 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (pow.f64 im 4)) re)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/24 (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(pow.f64 im 1/6)
(+.f64 (pow.f64 im 1/6) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (*.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (pow.f64 re 2)))))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (pow.f64 re 3))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (*.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (pow.f64 re 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2)))))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 1/6 (+.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/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))) (pow.f64 re 6)) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))))
(pow.f64 (*.f64 2 re) 1/6)
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6) (pow.f64 im 2))) (pow.f64 (*.f64 2 re) 1/6))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6) (pow.f64 im 2))) (pow.f64 (*.f64 2 re) 1/6)))
(+.f64 (*.f64 667/82944 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 35)) 1/6) (pow.f64 im 6))) (+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6) (pow.f64 im 2))) (pow.f64 (*.f64 2 re) 1/6))))
(pow.f64 im 1/6)
(+.f64 (pow.f64 im 1/6) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3))))))))
(pow.f64 (*.f64 -1 im) 1/6)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) re)) (pow.f64 (*.f64 -1 im) 1/6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) re)) (+.f64 (pow.f64 (*.f64 -1 im) 1/6) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) re)) (+.f64 (pow.f64 (*.f64 -1 im) 1/6) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))))
Outputs
(*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im))
(*.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im))
(+.f64 (*.f64 4/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im)))
(+.f64 (*.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im)) (*.f64 4/3 (*.f64 (*.f64 (*.f64 3 (*.f64 im im)) re) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))
(fma.f64 4/3 (*.f64 (*.f64 (*.f64 (*.f64 im im) 3) re) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (*.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im)))
(fma.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im) (*.f64 4/3 (*.f64 (*.f64 (*.f64 im im) 3) (*.f64 re (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))))))
(+.f64 (*.f64 4/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2)) 1/3) (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 16/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) im))) (*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im))))
(+.f64 (*.f64 4/3 (*.f64 (*.f64 (*.f64 3 (*.f64 im im)) re) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2))) (/.f64 (*.f64 re re) (/.f64 im (-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (-.f64 (*.f64 8 (*.f64 im 9/2)) (pow.f64 (*.f64 4 (*.f64 (/.f64 (*.f64 3 (*.f64 im im)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)))) (*.f64 16/3 (*.f64 (pow.f64 (*.f64 3 (*.f64 im im)) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) (*.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im))))
(fma.f64 4/3 (*.f64 (*.f64 (*.f64 (*.f64 im im) 3) re) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (fma.f64 1/3 (*.f64 (cbrt.f64 1/8) (*.f64 (/.f64 (*.f64 re re) im) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 im 36) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 4 (/.f64 (*.f64 (*.f64 im im) 3) (sqrt.f64 8)))) 2)) (/.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 -16/3 (*.f64 9 (pow.f64 im 4))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) (*.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im))))
(fma.f64 4/3 (*.f64 (*.f64 (*.f64 im im) 3) (*.f64 re (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (fma.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im) (/.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 1/8) (*.f64 re re)) (fma.f64 (/.f64 (-.f64 (*.f64 im 36) (pow.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 im im) 3) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (sqrt.f64 8)))) 2)) (sqrt.f64 8)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/2) (*.f64 (*.f64 -16/3 (*.f64 9 (pow.f64 im 4))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))) 1/3) im)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2)) 1/3) (/.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 32 (*.f64 4 (/.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2))) (*.f64 (pow.f64 (sqrt.f64 8) 2) (pow.f64 im 3))))) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 8/3 (*.f64 (pow.f64 (/.f64 (pow.f64 1 4) (pow.f64 (sqrt.f64 8) 14)) 1/9) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 16/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) (pow.f64 (/.f64 1 (pow.f64 im 7)) 1/3)))) (*.f64 64/27 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/3) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 3) (sqrt.f64 (/.f64 1 (pow.f64 im 11))))))))) im))) (+.f64 (*.f64 4/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (*.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) re) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2)) 1/3) (/.f64 (*.f64 (pow.f64 re 2) (-.f64 (*.f64 1/2 (*.f64 (/.f64 (-.f64 (*.f64 8 (+.f64 (*.f64 4 im) (*.f64 1/2 im))) (pow.f64 (*.f64 4 (*.f64 (/.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 16/3 (*.f64 (pow.f64 (pow.f64 1 11) 1/18) (*.f64 (pow.f64 (+.f64 (*.f64 2 (pow.f64 im 2)) (pow.f64 im 2)) 2) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/9) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) im))) (*.f64 (pow.f64 (*.f64 1 (sqrt.f64 8)) 1/3) (sqrt.f64 im)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2))) (/.f64 (pow.f64 re 3) (/.f64 im (-.f64 (*.f64 (*.f64 1/2 (/.f64 (+.f64 32 (*.f64 -4 (*.f64 (/.f64 (*.f64 3 (*.f64 im im)) (pow.f64 (sqrt.f64 8) 2)) (/.f64 (-.f64 (*.f64 8 (*.f64 im 9/2)) (pow.f64 (*.f64 4 (*.f64 (/.f64 (*.f64 3 (*.f64 im im)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (pow.f64 im 3))))) (sqrt.f64 8))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 8/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 14)) 1/18)) (*.f64 (*.f64 3 (*.f64 im im)) (*.f64 (-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (-.f64 (*.f64 8 (*.f64 im 9/2)) (pow.f64 (*.f64 4 (*.f64 (/.f64 (*.f64 3 (*.f64 im im)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)))) (*.f64 16/3 (*.f64 (pow.f64 (*.f64 3 (*.f64 im im)) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))) (cbrt.f64 (/.f64 1 (pow.f64 im 7)))))) (*.f64 64/27 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11))) (*.f64 (pow.f64 (*.f64 3 (*.f64 im im)) 3) (sqrt.f64 (/.f64 1 (pow.f64 im 11))))))))))) (+.f64 (*.f64 4/3 (*.f64 (*.f64 (*.f64 3 (*.f64 im im)) re) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 2))) (/.f64 (*.f64 re re) (/.f64 im (-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (-.f64 (*.f64 8 (*.f64 im 9/2)) (pow.f64 (*.f64 4 (*.f64 (/.f64 (*.f64 3 (*.f64 im im)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) 2)) (sqrt.f64 8)))) (*.f64 16/3 (*.f64 (pow.f64 (*.f64 3 (*.f64 im im)) 2) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))))))) (*.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 1/8) (*.f64 (/.f64 (pow.f64 re 3) im) (-.f64 (*.f64 1/2 (/.f64 (-.f64 32 (*.f64 1/2 (/.f64 (*.f64 (*.f64 (*.f64 im im) 3) (-.f64 (*.f64 im 36) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 4 (/.f64 (*.f64 (*.f64 im im) 3) (sqrt.f64 8)))) 2))) (pow.f64 im 3)))) (/.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (fma.f64 64/27 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 11))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11))) (*.f64 27 (pow.f64 (*.f64 im im) 3)))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 14)) 1/18)) (*.f64 (*.f64 (fma.f64 1/2 (/.f64 (-.f64 (*.f64 im 36) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 4 (/.f64 (*.f64 (*.f64 im im) 3) (sqrt.f64 8)))) 2)) (/.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 -16/3 (*.f64 9 (pow.f64 im 4))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))) (*.f64 (*.f64 (*.f64 im im) 3) (cbrt.f64 (/.f64 1 (pow.f64 im 7))))) 8/3)))))) (fma.f64 4/3 (*.f64 (*.f64 (*.f64 (*.f64 im im) 3) re) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))) (fma.f64 1/3 (*.f64 (cbrt.f64 1/8) (*.f64 (/.f64 (*.f64 re re) im) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 im 36) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 4 (/.f64 (*.f64 (*.f64 im im) 3) (sqrt.f64 8)))) 2)) (/.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (*.f64 -16/3 (*.f64 9 (pow.f64 im 4))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))))) (*.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 1/8) (*.f64 (/.f64 (pow.f64 re 3) im) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/2 (/.f64 (+.f64 32 (*.f64 -1/2 (/.f64 (*.f64 (*.f64 (*.f64 im im) 3) (-.f64 (*.f64 im 36) (pow.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 im im) 3) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (sqrt.f64 8)))) 2))) (pow.f64 im 3)))) (sqrt.f64 8))) (+.f64 (*.f64 (*.f64 (fma.f64 (/.f64 (-.f64 (*.f64 im 36) (pow.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 im im) 3) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (sqrt.f64 8)))) 2)) (sqrt.f64 8)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/2) (*.f64 (*.f64 -16/3 (*.f64 9 (pow.f64 im 4))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6)))) (*.f64 (*.f64 (*.f64 im im) 3) (cbrt.f64 (/.f64 1 (pow.f64 im 7))))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 14)) 1/18)) -8/3)) (*.f64 (*.f64 (*.f64 (pow.f64 im 6) 27) (sqrt.f64 (/.f64 1 (pow.f64 im 11)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11))) -64/27)))))) (fma.f64 4/3 (*.f64 (*.f64 (*.f64 im im) 3) (*.f64 re (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 11)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6))))) (fma.f64 (cbrt.f64 (sqrt.f64 8)) (sqrt.f64 im) (/.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 1/8) (*.f64 re re)) (fma.f64 (/.f64 (-.f64 (*.f64 im 36) (pow.f64 (*.f64 4 (*.f64 (*.f64 (*.f64 im im) 3) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (sqrt.f64 8)))) 2)) (sqrt.f64 8)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/2) (*.f64 (*.f64 -16/3 (*.f64 9 (pow.f64 im 4))) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18) (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 8) 19)) 1/18)) (pow.f64 (/.f64 1 (pow.f64 im 19)) 1/6))))) 1/3) im))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/24 (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/24 (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/24 (*.f64 re 6)) (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 (*.f64 1/24 (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -1/64 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/96 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (pow.f64 im 4)) re)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/24 (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(fma.f64 1/12 (/.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re 6) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) -5/192) (/.f64 re (pow.f64 im 4))) (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/24 (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (*.f64 (*.f64 re re) 36) -5/192)) re) (pow.f64 im 4)) (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/24 (*.f64 re 6)) (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(fma.f64 1/12 (/.f64 (*.f64 (*.f64 (*.f64 re re) 36) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (/.f64 re (pow.f64 im 4)) -5/192)) (fma.f64 (*.f64 1/24 (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (*.f64 (-.f64 (/.f64 1 (pow.f64 re 3)) (*.f64 -1/64 (/.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3) (pow.f64 re 6)))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (-.f64 (*.f64 -1/64 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/96 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (+.f64 (*.f64 4 re) (*.f64 2 re))) (pow.f64 re 3))) (*.f64 1/13824 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 3) (sqrt.f64 (/.f64 1 (pow.f64 re 15))))))) (pow.f64 im 6)) re)) (+.f64 (*.f64 1/12 (/.f64 (*.f64 (-.f64 (*.f64 -1/64 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))) (*.f64 1/96 (*.f64 (pow.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))))) (pow.f64 im 4)) re)) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 1/24 (*.f64 (*.f64 (+.f64 (*.f64 4 re) (*.f64 2 re)) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(fma.f64 1/12 (/.f64 (-.f64 (*.f64 1/16 (*.f64 (+.f64 (/.f64 1 (pow.f64 re 3)) (*.f64 1/64 (/.f64 (pow.f64 (*.f64 re 6) 3) (pow.f64 re 6)))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 1/24 (/.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re 6) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) -5/192) (/.f64 (pow.f64 re 3) (*.f64 re 6))) (*.f64 (*.f64 1/13824 (pow.f64 (*.f64 re 6) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 15)))))) (/.f64 re (pow.f64 im 6))) (fma.f64 1/12 (/.f64 (*.f64 (*.f64 (pow.f64 (*.f64 re 6) 2) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) -5/192) (/.f64 re (pow.f64 im 4))) (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/24 (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))))))
(fma.f64 1/12 (*.f64 (/.f64 (-.f64 (*.f64 1/16 (*.f64 (+.f64 (/.f64 1 (pow.f64 re 3)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 216) (pow.f64 re 6)) 1/64)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 1/13824 (*.f64 (*.f64 (pow.f64 re 3) 216) (sqrt.f64 (/.f64 1 (pow.f64 re 15)))) (/.f64 1/24 (/.f64 (pow.f64 re 3) (*.f64 re (*.f64 6 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (*.f64 (*.f64 re re) 36) -5/192)))))))) re) (pow.f64 im 6)) (fma.f64 1/12 (*.f64 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (*.f64 (*.f64 re re) 36) -5/192)) re) (pow.f64 im 4)) (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/24 (*.f64 re 6)) (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(fma.f64 1/12 (*.f64 (/.f64 (+.f64 (fma.f64 1/16 (*.f64 (+.f64 (/.f64 1 (pow.f64 re 3)) (/.f64 1/64 (/.f64 (pow.f64 re 6) (*.f64 (pow.f64 re 3) 216)))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 15))) (*.f64 (*.f64 (pow.f64 re 3) 216) -1/13824))) (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 re re) 36) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (/.f64 (pow.f64 re 3) (*.f64 re 6)) -5/192)) -1/24)) re) (pow.f64 im 6)) (fma.f64 1/12 (/.f64 (*.f64 (*.f64 (*.f64 re re) 36) (sqrt.f64 (/.f64 1 (pow.f64 re 9)))) (/.f64 (/.f64 re (pow.f64 im 4)) -5/192)) (fma.f64 (*.f64 1/24 (*.f64 (*.f64 im im) (*.f64 re 6))) (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 2 (sqrt.f64 re)))))
(pow.f64 im 1/6)
(+.f64 (pow.f64 im 1/6) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)))
(+.f64 (pow.f64 im 1/6) (*.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))
(fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (pow.f64 im 1/6))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (*.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (pow.f64 re 2)))))
(+.f64 (pow.f64 im 1/6) (fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 1/72 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (*.f64 re re))))
(+.f64 (pow.f64 im 1/6) (fma.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (*.f64 re re)) (*.f64 re (*.f64 1/6 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)))))
(+.f64 (pow.f64 im 1/6) (*.f64 re (+.f64 (*.f64 1/6 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) 1/72) re))))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 -35/1296 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (pow.f64 re 3))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (*.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (pow.f64 re 2))))))
(+.f64 (pow.f64 im 1/6) (fma.f64 -35/1296 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)) (fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 1/72 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (*.f64 re re)))))
(+.f64 (pow.f64 im 1/6) (fma.f64 -35/1296 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)) (fma.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (*.f64 re re)) (*.f64 re (*.f64 1/6 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))))
(+.f64 (pow.f64 im 1/6) (fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 re re) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) 1/72) (*.f64 (*.f64 -35/1296 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)) re)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re)))
(*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im)))))
(fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re))) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re))))
(fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6)) re)) (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6)))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (+.f64 (*.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im)))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152))))))
(+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re))) (*.f64 (/.f64 re im) (/.f64 re im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64))))
(+.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6)) (fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6)) re)) (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -17/1152))))
(+.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 1/1152 (pow.f64 im 4)))) (pow.f64 re 4)) (+.f64 (*.f64 1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (+.f64 (*.f64 1/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 6)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/144 (*.f64 (pow.f64 im 4) -9/4) (*.f64 (pow.f64 im 4) 1/1152))))) (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (fma.f64 1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 (*.f64 1/3456 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im)))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re)))))))))
(+.f64 (fma.f64 1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re))) (*.f64 (/.f64 re im) (/.f64 re im))) (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re))) (pow.f64 re 4)) (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) -1/64)))) (+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re))) (/.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 6) 1/82944 (fma.f64 1/4320 (*.f64 (pow.f64 im 6) 75/2) (*.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4)))))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 2) (log.f64 re)))))
(+.f64 (fma.f64 1/24 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6)) re)) (*.f64 (/.f64 (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6)) (pow.f64 re 4)) (*.f64 (pow.f64 im 4) -17/1152))) (*.f64 (+.f64 (/.f64 (fma.f64 (pow.f64 im 6) 1/82944 (fma.f64 1/3456 (*.f64 (pow.f64 im 6) -9/4) (*.f64 (pow.f64 im 6) 5/576))) (pow.f64 re 6)) 1) (*.f64 (pow.f64 2 1/6) (pow.f64 re 1/6))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2))))
(pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2)))))
(*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6))
(+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))
(fma.f64 -1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2)))))
(fma.f64 -1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2))))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2))))))
(fma.f64 -1/24 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))) (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4)))))) (pow.f64 re 4)) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))))
(+.f64 (fma.f64 -1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2)))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2))))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2)))))) (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2)))))))
(+.f64 (*.f64 -1/24 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (*.f64 re re)) (*.f64 im im))) (*.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 19/1152) (pow.f64 re 4)) 1) (*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 1/1152 (pow.f64 im 4)) (*.f64 1/144 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 1/6 (+.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/82944 (pow.f64 im 6)) (+.f64 (*.f64 1/4320 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -1/3456 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2))))))) (pow.f64 re 6)) (+.f64 (*.f64 -1/24 (/.f64 (*.f64 (exp.f64 (*.f64 1/6 (+.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/6 (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 1/2 (pow.f64 im 2)))))))))
(+.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2)))) (/.f64 (pow.f64 re 4) (fma.f64 1/1152 (pow.f64 im 4) (*.f64 1/144 (*.f64 (pow.f64 im 4) 9/4))))) (+.f64 (fma.f64 -1/24 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2))))) (/.f64 (fma.f64 -1/82944 (pow.f64 im 6) (fma.f64 1/4320 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) -1/8) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -1/3456 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 (*.f64 im im) 1/2))))))))
(+.f64 (+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2))))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2)))))) (*.f64 (/.f64 (fma.f64 (pow.f64 im 4) 1/1152 (*.f64 (pow.f64 im 4) 1/64)) (pow.f64 re 4)) (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2))))))) (/.f64 (pow.f64 (exp.f64 1/6) (+.f64 (log.f64 (/.f64 -1 re)) (log.f64 (*.f64 im (*.f64 im 1/2))))) (/.f64 (pow.f64 re 6) (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 (pow.f64 im 6) -15/4 (*.f64 (/.f64 -720 im) (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) im)))) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))))))
(+.f64 (fma.f64 -1/24 (*.f64 (/.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6))) (*.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 im 1/2)) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 19/1152) (pow.f64 re 4)) (/.f64 (fma.f64 (pow.f64 im 6) -1/82944 (fma.f64 1/4320 (+.f64 (*.f64 -720 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (*.f64 im im))) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -1/3456 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 re 6)))))
(pow.f64 (*.f64 2 re) 1/6)
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6) (pow.f64 im 2))) (pow.f64 (*.f64 2 re) 1/6))
(fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6)) (pow.f64 (*.f64 2 re) 1/6))
(fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6))) (pow.f64 (*.f64 2 re) 1/6))
(+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6) (pow.f64 im 2))) (pow.f64 (*.f64 2 re) 1/6)))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6)) (fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6)) (pow.f64 (*.f64 2 re) 1/6)))
(fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6)) (fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6))) (pow.f64 (*.f64 2 re) 1/6)))
(+.f64 (*.f64 667/82944 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 35)) 1/6) (pow.f64 im 6))) (+.f64 (*.f64 -17/1152 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6) (pow.f64 im 2))) (pow.f64 (*.f64 2 re) 1/6))))
(fma.f64 667/82944 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 2 (pow.f64 re 35)) 1/6)) (fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6)) (fma.f64 1/24 (*.f64 (*.f64 im im) (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6)) (pow.f64 (*.f64 2 re) 1/6))))
(fma.f64 667/82944 (*.f64 (pow.f64 im 6) (pow.f64 (/.f64 2 (pow.f64 re 35)) 1/6)) (fma.f64 -17/1152 (*.f64 (pow.f64 im 4) (pow.f64 (/.f64 2 (pow.f64 re 23)) 1/6)) (fma.f64 1/24 (*.f64 im (*.f64 im (pow.f64 (/.f64 2 (pow.f64 re 11)) 1/6))) (pow.f64 (*.f64 2 re) 1/6))))
(pow.f64 im 1/6)
(+.f64 (pow.f64 im 1/6) (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)))
(+.f64 (pow.f64 im 1/6) (*.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))
(fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (pow.f64 im 1/6))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))
(+.f64 (pow.f64 im 1/6) (fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 1/72 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (*.f64 re re))))
(+.f64 (pow.f64 im 1/6) (fma.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (*.f64 re re)) (*.f64 re (*.f64 1/6 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)))))
(+.f64 (pow.f64 im 1/6) (*.f64 re (+.f64 (*.f64 1/6 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) 1/72) re))))
(+.f64 (pow.f64 im 1/6) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6) re)) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3))))))))
(+.f64 (pow.f64 im 1/6) (fma.f64 -35/1296 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)) (fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 1/72 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6)) (*.f64 re re)))))
(+.f64 (pow.f64 im 1/6) (fma.f64 -35/1296 (*.f64 (pow.f64 re 3) (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)) (fma.f64 1/72 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) (*.f64 re re)) (*.f64 re (*.f64 1/6 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6))))))
(+.f64 (pow.f64 im 1/6) (fma.f64 1/6 (*.f64 re (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/6)) (*.f64 (*.f64 re re) (+.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 11)) 1/6) 1/72) (*.f64 (*.f64 -35/1296 (pow.f64 (/.f64 1 (pow.f64 im 17)) 1/6)) re)))))
(pow.f64 (*.f64 -1 im) 1/6)
(pow.f64 (neg.f64 im) 1/6)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) re)) (pow.f64 (*.f64 -1 im) 1/6))
(fma.f64 -1/6 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6)) (pow.f64 (neg.f64 im) 1/6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) re)) (+.f64 (pow.f64 (*.f64 -1 im) 1/6) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))))))
(+.f64 (fma.f64 -1/6 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6)) (pow.f64 (neg.f64 im) 1/6)) (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6)))
(fma.f64 -1/6 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6)) (fma.f64 (fma.f64 (*.f64 re re) 1/72 0) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (pow.f64 (neg.f64 im) 1/6)))
(fma.f64 -1/6 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6)) (fma.f64 (*.f64 re (*.f64 re 1/72)) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (pow.f64 (neg.f64 im) 1/6)))
(+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6) (+.f64 (*.f64 1/72 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (+.f64 (*.f64 1/36 (+.f64 (*.f64 -3 (pow.f64 re 3)) (*.f64 2 (pow.f64 re 3)))) (*.f64 1/1296 (pow.f64 re 3)))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6) re)) (+.f64 (pow.f64 (*.f64 -1 im) 1/6) (*.f64 (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (+.f64 (*.f64 1/72 (pow.f64 re 2)) (*.f64 1/12 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))))))))
(fma.f64 -1 (*.f64 (fma.f64 1/72 (*.f64 re (*.f64 0 (*.f64 re re))) (fma.f64 1/36 (*.f64 (pow.f64 re 3) -1) (*.f64 (pow.f64 re 3) 1/1296))) (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6)) (+.f64 (fma.f64 -1/6 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6)) (pow.f64 (neg.f64 im) 1/6)) (*.f64 (fma.f64 1/72 (*.f64 re re) (*.f64 1/12 (*.f64 0 (*.f64 re re)))) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6))))
(-.f64 (fma.f64 -1/6 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6)) (fma.f64 (fma.f64 (*.f64 re re) 1/72 0) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (pow.f64 (neg.f64 im) 1/6))) (*.f64 (+.f64 (*.f64 re 0) (fma.f64 (pow.f64 re 3) 1/1296 (*.f64 (pow.f64 re 3) -1/36))) (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6)))
(-.f64 (fma.f64 -1/6 (*.f64 re (pow.f64 (/.f64 -1 (pow.f64 im 5)) 1/6)) (fma.f64 (*.f64 re (*.f64 re 1/72)) (pow.f64 (/.f64 -1 (pow.f64 im 11)) 1/6) (pow.f64 (neg.f64 im) 1/6))) (*.f64 (*.f64 (pow.f64 re 3) -35/1296) (pow.f64 (/.f64 -1 (pow.f64 im 17)) 1/6)))

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
@-inf
(*.f64 1/2 (+.f64 im im))
0.0ms
im
@0
(*.f64 1/2 (+.f64 im im))
0.0ms
im
@inf
(*.f64 1/2 (+.f64 im im))

rewrite63.0ms (0.6%)

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

simplify8.0ms (0.1%)

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

localize7.0ms (0.1%)

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)

series3.0ms (0%)

Counts
1 → 12
Calls

3 calls:

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

rewrite51.0ms (0.5%)

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

simplify302.0ms (2.8%)

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)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 23 to 8 computations (65.2% saved)

series3.0ms (0%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
im
@0
(exp.f64 (log.f64 (+.f64 im im)))
0.0ms
im
@inf
(exp.f64 (log.f64 (+.f64 im im)))
0.0ms
im
@-inf
(exp.f64 (log.f64 (+.f64 im im)))
0.0ms
im
@inf
(log.f64 (+.f64 im im))
0.0ms
im
@0
(log.f64 (+.f64 im im))

rewrite198.0ms (1.8%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
391×pow1_binary64
390×pow1_binary64
379×add-sqr-sqrt_binary64
379×add-sqr-sqrt_binary64
371×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
113312
2178512
054
1924
211974
046
1856
211946
077
11337
217857
077
Stop Event
iter limit
node limit
node limit
node limit
node limit
Counts
3 → 127
Calls
Call 1
Inputs
(exp.f64 (log.f64 (+.f64 im im)))
(log.f64 (+.f64 im im))
(*.f64 1/2 (exp.f64 (log.f64 (+.f64 im im))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 im im)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (fma.f64 im 2 -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.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 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (+.f64 im im))) 2)) (log.f64 (cbrt.f64 (exp.f64 (+.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 im im)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 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 (*.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 (pow.f64 (*.f64 2 (pow.f64 im 3)) 2) (pow.f64 (fma.f64 im im 0) 2))))) (#(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 (*.f64 2 (pow.f64 im 3))) (sqrt.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 (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) 1)))) (#(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) 2)))) (#(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) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 2)) (cbrt.f64 (log.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (+.f64 im im)))) (sqrt.f64 (log.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 im im 0) (*.f64 2 (pow.f64 im 3))) -1)))) (#(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 (exp.f64 (+.f64 im 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 fma.f64 im (+.f64 im im) (*.f64 im (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im 1 im)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 im im) im (*.f64 (+.f64 im im) im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 im im)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 im) (pow.f64 (cbrt.f64 im) 2) 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 (log.f64 (+.f64 im im)) (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (+.f64 im im)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 im) (log1p.f64 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 4) (*.f64 2 (log.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (log.f64 (cbrt.f64 im))) (log.f64 (+.f64 (cbrt.f64 im) (cbrt.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 im)) (log.f64 (+.f64 (sqrt.f64 im) (sqrt.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 1) (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log1p.f64 1) (log.f64 (*.f64 im (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 2 (pow.f64 im 3))) (log.f64 (/.f64 1 (fma.f64 im im 0))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 0) (log.f64 (/.f64 1 0)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 im)) (log.f64 (+.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 2 (sqrt.f64 im))) (log.f64 (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 2 (pow.f64 (cbrt.f64 im) 2))) (log.f64 (cbrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (cbrt.f64 2)) (log.f64 (cbrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (+.f64 im im) 2)) (log.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 2)) (log.f64 (sqrt.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (log.f64 (/.f64 (fma.f64 im im 0) (*.f64 2 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (log.f64 (+.f64 im im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 2 (pow.f64 im 3))) (log.f64 (fma.f64 im im 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 0) (log.f64 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (cbrt.f64 (*.f64 2 (pow.f64 im 3)))) (log.f64 (cbrt.f64 (fma.f64 im im 0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (*.f64 2 (pow.f64 im 3)) 0)) (log.f64 (*.f64 (fma.f64 im im 0) 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 0 (+.f64 im im))) (log.f64 0))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (sqrt.f64 (*.f64 2 (pow.f64 im 3)))) (log.f64 (sqrt.f64 (fma.f64 im im 0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (sqrt.f64 0)) (log.f64 (sqrt.f64 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (+.f64 im im) (*.f64 2 (pow.f64 im 3)))) (log.f64 (fma.f64 im im 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 0 (*.f64 2 (pow.f64 im 3)))) (log.f64 (*.f64 0 (fma.f64 im im 0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (*.f64 (*.f64 2 (pow.f64 im 3)) (+.f64 im im))) (log.f64 (fma.f64 im im 0)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (neg.f64 (*.f64 2 (pow.f64 im 3)))) (log.f64 (neg.f64 (fma.f64 im im 0))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (log.f64 (pow.f64 (*.f64 2 (pow.f64 im 3)) 2)) (log.f64 (pow.f64 (fma.f64 im im 0) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (log.f64 (+.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (log.f64 (+.f64 im im))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 2) (cbrt.f64 (log.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (log.f64 (+.f64 im im))) (sqrt.f64 (log.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 3 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/3 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (log.f64 (+.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (log.f64 (+.f64 im im)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (log.f64 (+.f64 im im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (log.f64 (/.f64 (fma.f64 im im 0) (*.f64 2 (pow.f64 im 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (log.f64 (+.f64 im im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (log.f64 (+.f64 im im)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (log.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (fma.f64 im 2 -1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (log.f64 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (log.f64 (+.f64 im im)) 1 (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (log.f64 (+.f64 im im)) (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (log.f64 (+.f64 im im))) (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 2) (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 2) (cbrt.f64 (log.f64 (+.f64 im im))) (log.f64 (+.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (log.f64 (+.f64 im im))) (sqrt.f64 (log.f64 (+.f64 im im))) (log.f64 (+.f64 im im)))))))
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (+.f64 im im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 1/2 (+.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (+.f64 im im)) (*.f64 1/2 (+.f64 im im))) (*.f64 1/2 (+.f64 im im))))))) (#(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))))))))

simplify33.0ms (0.3%)

Algorithm
egg-herbie
Rules
172×fma-neg_binary64
101×fma-def_binary64
41×cancel-sign-sub-inv_binary64
40×associate--r+_binary64
40×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
019172
135168
247168
397168
4185168
5313168
6462168
7639168
8758168
9780168
Stop Event
saturated
Counts
163 → 132
Calls
Call 1
Inputs
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
im
im
im
im
im
im
im
im
im
im
im
im
Outputs
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(*.f64 2 im)
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))
(+.f64 (log.f64 2) (log.f64 im))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))
(-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))
(-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))
(-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))
(fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))
(-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))
im
im
im
im
im
im
im
im
im
im
im
im

localize16.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 17 computations (41.4% saved)

series4.0ms (0%)

Counts
2 → 0
Calls

6 calls:

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

rewrite74.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
491×pow1_binary64
485×add-sqr-sqrt_binary64
468×add-log-exp_binary64
466×log1p-expm1-u_binary64
466×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0712
11648
219078
Stop Event
node limit
Counts
2 → 108
Calls
Call 1
Inputs
(pow.f64 (+.f64 im im) 1/2)
(pow.f64 (pow.f64 (+.f64 im im) 1/2) 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 (*.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/4) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))))) (#(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 2 3/2) (pow.f64 im 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 im im) 1/8) (pow.f64 (+.f64 im im) 1/8))))) (#(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/4) (+.f64 im im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 1/4) (pow.f64 im 1/4))))) (#(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 2 3/2) (pow.f64 im 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 im im) 1/8) (pow.f64 (+.f64 im im) 1/8))))) (#(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)))))

simplify13.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval437.0ms (4.1%)

Compiler

Compiled 16609 to 12126 computations (27% saved)

prune118.0ms (1.1%)

Pruning

41 alts after pruning (31 fresh and 10 done)

PrunedKeptTotal
New48719506
Fresh21214
Picked101
Done21012
Total49241533
Error
5.0b
Counts
533 → 41
Alt Table
Click to see full alt table
StatusErrorProgram
32.9b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6) 2) (pow.f64 (pow.f64 2 1/6) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3))
52.8b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 3) -1) 1/2))
59.5b
(pow.f64 (*.f64 (+.f64 im im) (sqrt.f64 1/2)) 2)
43.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
33.9b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 (pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 1/6) 2) (pow.f64 (pow.f64 2 1/6) 2)) 4) (pow.f64 (*.f64 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)) 2) 1/6)) 1/3))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
61.5b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/4) 3))
61.7b
(*.f64 1/2 (pow.f64 (hypot.f64 (sqrt.f64 im) (sqrt.f64 im)) 3))
60.4b
(*.f64 1/2 (pow.f64 (+.f64 im im) 3))
61.2b
im
45.4b
(*.f64 1/2 (*.f64 (sqrt.f64 im) (sqrt.f64 2)))
59.9b
(fabs.f64 im)
60.0b
(*.f64 1/2 (pow.f64 (fabs.f64 (+.f64 im im)) 3))
47.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (/.f64 im (/.f64 re im)) (*.f64 re 2)))))
61.9b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 1/3) 3))
61.7b
(*.f64 1/2 (pow.f64 (sqrt.f64 (+.f64 im im)) 3))
32.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3))
59.9b
0
32.9b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/3) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3))
61.9b
(*.f64 1/2 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 3)))
61.3b
(*.f64 1/2 (pow.f64 (+.f64 im im) 1/3))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
61.5b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (+.f64 im im) 1/8) (pow.f64 (+.f64 im im) 1/8)) 3))
52.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 im -1/2) (/.f64 re im)))))
62.1b
(*.f64 1/2 (/.f64 1 (+.f64 im im)))
54.8b
(*.f64 1/2 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/2))
61.9b
(exp.f64 (log.f64 (*.f64 1/2 (+.f64 im im))))
32.5b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 1/3))
59.5b
(*.f64 1/2 (exp.f64 (+.f64 (log1p.f64 1) (log.f64 (*.f64 im (+.f64 im im))))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
62.0b
(*.f64 1/2 (exp.f64 (fma.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 2) (cbrt.f64 (log.f64 (+.f64 im im))) (log.f64 (+.f64 im im)))))
59.5b
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
47.6b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
62.0b
(*.f64 1/2 (pow.f64 (pow.f64 (+.f64 im im) 2/3) 3))
13.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
61.5b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 2 1/4) (pow.f64 im 1/4)) 3))
46.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
61.9b
(*.f64 1/2 (exp.f64 (log.f64 (+.f64 im im))))
61.9b
(*.f64 1/2 (pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (+.f64 im im))) 2)) (cbrt.f64 (log.f64 (+.f64 im im)))))
33.5b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) (pow.f64 (*.f64 (fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im)) 2) 1/6)) 1/3))
60.8b
(*.f64 1/2 (cbrt.f64 (+.f64 im im)))
Compiler

Compiled 549 to 417 computations (24% saved)

regimes477.0ms (4.4%)

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

12 calls:

65.0ms
re
42.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
41.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
40.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
39.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
ErrorSegmentsBranch
9.2b2re
13.0b1im
10.1b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
10.1b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
10.1b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
10.1b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
10.2b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
10.2b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
10.2b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
10.2b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
13.0b1(*.f64 im im)
13.0b1(*.f64 im im)
Compiler

Compiled 743 to 478 computations (35.7% saved)

bsearch79.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
78.0ms
-2.847260330845642e+135
-9.336361115190856e+134
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes391.0ms (3.6%)

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

4 calls:

175.0ms
re
77.0ms
im
70.0ms
(*.f64 im im)
59.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
25.2b7re
24.0b3im
35.0b5(*.f64 im im)
35.0b5(*.f64 im im)
Compiler

Compiled 277 to 182 computations (34.3% saved)

bsearch122.0ms (1.1%)

Algorithm
binary-search
Steps
TimeLeftRight
70.0ms
7.451017496197032e-172
6.145404071612944e-160
52.0ms
-1.0163854006903912e-153
-1.371670675856993e-160
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes139.0ms (1.3%)

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

4 calls:

42.0ms
re
34.0ms
im
32.0ms
(*.f64 im im)
27.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
32.1b4re
24.2b3im
35.3b5(*.f64 im im)
35.3b5(*.f64 im im)
Compiler

Compiled 107 to 68 computations (36.4% saved)

bsearch110.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
7.451017496197032e-172
6.145404071612944e-160
54.0ms
-1.0163854006903912e-153
-1.371670675856993e-160
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes116.0ms (1.1%)

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

4 calls:

35.0ms
re
34.0ms
im
21.0ms
(*.f64 im im)
21.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
32.2b4re
24.5b3im
36.5b3(*.f64 im im)
36.5b3(*.f64 im im)
Compiler

Compiled 99 to 62 computations (37.4% saved)

bsearch112.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
7.451017496197032e-172
6.145404071612944e-160
57.0ms
-1.0163854006903912e-153
-1.371670675856993e-160
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes81.0ms (0.8%)

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

24.0ms
re
22.0ms
im
16.0ms
(*.f64 im im)
15.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
33.3b3re
35.5b2im
37.7b2(*.f64 im im)
37.7b2(*.f64 im im)
Compiler

Compiled 92 to 56 computations (39.1% saved)

bsearch104.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
2.3081656146401523e-154
1.4322317914382295e-151
78.0ms
-4.527678248565426e+119
-2.1262306667401506e+119
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes58.0ms (0.5%)

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

4 calls:

15.0ms
(*.f64 im im)
14.0ms
re
13.0ms
im
12.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
44.0b2re
43.0b2im
44.4b2(*.f64 im im)
44.4b2(*.f64 im im)
Compiler

Compiled 72 to 43 computations (40.3% saved)

bsearch61.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
61.0ms
1.2106728087571633e-223
5.149603559872578e-222
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes45.0ms (0.4%)

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

4 calls:

14.0ms
im
12.0ms
re
8.0ms
(*.f64 im im)
7.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
58.1b2re
58.2b2im
58.1b2(*.f64 im im)
58.1b2(*.f64 im im)
Compiler

Compiled 66 to 38 computations (42.4% saved)

bsearch74.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
74.0ms
-3.6162986755564866e+76
-8.710444464751776e+74
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes16.0ms (0.2%)

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

3 calls:

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

Compiled 41 to 26 computations (36.6% saved)

regimes10.0ms (0.1%)

Accuracy

Total -2.8b remaining (-4.7%)

Threshold costs -2.8b (-4.7%)

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

2 calls:

4.0ms
im
4.0ms
re
Results
ErrorSegmentsBranch
59.9b1re
59.9b1im
Compiler

Compiled 22 to 14 computations (36.4% saved)

simplify20.0ms (0.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
063259
188257
2103257
3114257
4118257
5119257
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -2847260330845642137428396425024441525842683062114027839519632166216926430586770714417501265779411296073101131910714571114760737816313856) (*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 re -452767824856542606506094375069289990698865836364788789220774552097192822173957081157336700846829653459151532948591738880) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (if (<=.f64 re 3484372119966821/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 im 3153431157143733/26046931378436930758124421057504913270096712196546516251547882077203270460225125279380594534654508948214569963255598595491753131461403769845169359579417304867559209294976619368996399554343023534097519594280807038990979484521392426918608896) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))
(if (<=.f64 re -36162986755564865673378081497516766743649356244269303202239302199287929110528) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (fabs.f64 im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
0
im
Outputs
(if (<=.f64 re -2847260330845642137428396425024441525842683062114027839519632166216926430586770714417501265779411296073101131910714571114760737816313856) (*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 (neg.f64 im) 2))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))
(if (<=.f64 im -7671600622685445/7547924849643082704483109161976537781833842440832880856752412600491248324784297704172253450355317535082936750061527689799541169259849585265122868502865392087298790653952) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 405249892082965/543885304644369509058138323509727874385503352552480689356230797517213245297512696564902402319594788524942673393916417039714897241756372213155348458256985448390483221335442656288489603072) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))
(if (<=.f64 re -452767824856542606506094375069289990698865836364788789220774552097192822173957081157336700846829653459151532948591738880) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (if (<=.f64 re 3484372119966821/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 re -452767824856542606506094375069289990698865836364788789220774552097192822173957081157336700846829653459151532948591738880) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (if (<=.f64 re 3484372119966821/15095849699286165408966218323953075563667684881665761713504825200982496649568595408344506900710635070165873500123055379599082338519699170530245737005730784174597581307904) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 im 3153431157143733/26046931378436930758124421057504913270096712196546516251547882077203270460225125279380594534654508948214569963255598595491753131461403769845169359579417304867559209294976619368996399554343023534097519594280807038990979484521392426918608896) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))
(if (<=.f64 im 3153431157143733/26046931378436930758124421057504913270096712196546516251547882077203270460225125279380594534654508948214569963255598595491753131461403769845169359579417304867559209294976619368996399554343023534097519594280807038990979484521392426918608896) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(if (<=.f64 re -36162986755564865673378081497516766743649356244269303202239302199287929110528) (*.f64 1/2 (*.f64 4 (*.f64 im im))) (fabs.f64 im))
(*.f64 1/2 (*.f64 4 (*.f64 im im)))
0
im
Compiler

Compiled 193 to 151 computations (21.8% saved)

soundness226.0ms (2.1%)

Algorithm
egg-herbie
Rules
1012×fma-def_binary64
753×distribute-rgt-in_binary64
620×associate-*r*_binary64
577×associate-*l*_binary64
572×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
23415
33615
0129926
1375872
21203816
35786778
017800
138800
287800
3201800
4512800
51751800
63933800
76343800
01315
12515
23415
33615
Stop Event
saturated
node limit
node limit
saturated
Compiler

Compiled 186 to 131 computations (29.6% saved)

end107.0ms (1%)

Compiler

Compiled 175 to 126 computations (28% saved)

Profiling

Loading profile data...