Details

Time bar (total: 11.2s)

analyze291.0ms (2.6%)

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.5s (22.2%)

Results
1.3s6423×body256valid
588.0ms656×body2048valid
352.0ms524×body4096valid
184.0ms417×body1024valid
68.0ms236×body512valid
Bogosity

preprocess16.0ms (0.1%)

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)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
23415
33615
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))

eval1.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
13.2b
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.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 29 to 21 computations (27.6% saved)

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

series10.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

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

rewrite51.0ms (0.5%)

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

simplify54.0ms (0.5%)

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

localize36.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 re re) (*.f64 im im))
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)
30.8b
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 77 to 19 computations (75.3% saved)

series17.0ms (0.2%)

Counts
4 → 80
Calls

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

rewrite72.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

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

simplify68.0ms (0.6%)

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

Useful iterations: 2 (0.0ms)

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

eval138.0ms (1.2%)

Compiler

Compiled 6939 to 4605 computations (33.6% saved)

prune52.0ms (0.5%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New33912351
Fresh000
Picked101
Done011
Total34013353
Error
6.1b
Counts
353 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
14.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
57.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
13.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
41.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
43.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
51.0b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
17.5b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))))))
61.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (neg.f64 re) re))))
47.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
Compiler

Compiled 308 to 239 computations (22.4% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 63 to 17 computations (73% saved)

series16.0ms (0.1%)

Counts
3 → 26
Calls

18 calls:

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

rewrite53.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (0.6%)

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

Useful iterations: 3 (0.0ms)

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

localize7.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize9.0ms (0.1%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize12.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series6.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite69.0ms (0.6%)

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

simplify59.0ms (0.5%)

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

localize29.0ms (0.3%)

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)
19.9b
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2)))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series26.0ms (0.2%)

Counts
4 → 84
Calls

24 calls:

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

rewrite87.0ms (0.8%)

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

simplify70.0ms (0.6%)

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)

eval120.0ms (1.1%)

Compiler

Compiled 7083 to 4744 computations (33% saved)

prune56.0ms (0.5%)

Pruning

17 alts after pruning (12 fresh and 5 done)

PrunedKeptTotal
New3329341
Fresh437
Picked101
Done055
Total33717354
Error
6.0b
Counts
354 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
41.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
57.5b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/4) 2))
54.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 im -1/2) (/.f64 re im)))))
57.4b
(*.f64 1/2 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/2))
14.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
57.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
13.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
51.0b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
45.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
57.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6) 3))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
17.5b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))))))
54.6b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
43.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
47.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re))))
Compiler

Compiled 372 to 290 computations (22% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 58 to 18 computations (69% saved)

series11.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
944×pow1_binary64
877×add-log-exp_binary64
876×expm1-log1p-u_binary64
875×log1p-expm1-u_binary64
857×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify58.0ms (0.5%)

Algorithm
egg-herbie
Rules
596×associate-/r*_binary64
439×*-commutative_binary64
438×times-frac_binary64
360×distribute-rgt-in_binary64
355×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02651853
17761735
226081674
Stop Event
node limit
Counts
130 → 166
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)))))
(log.f64 (+.f64 1 im))
(+.f64 (log.f64 (+.f64 1 im)) (/.f64 re (+.f64 1 im)))
(+.f64 (log.f64 (+.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (*.f64 im (+.f64 1 im))) (/.f64 1 (pow.f64 (+.f64 1 im) 2))) (pow.f64 re 2))) (/.f64 re (+.f64 1 im))))
(+.f64 (log.f64 (+.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (*.f64 im (+.f64 1 im))) (/.f64 1 (pow.f64 (+.f64 1 im) 2))) (pow.f64 re 2))) (+.f64 (*.f64 1/6 (*.f64 (-.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 1 im) 3))) (*.f64 3 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 im) 2) im)))) (pow.f64 re 3))) (/.f64 re (+.f64 1 im)))))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))
(+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 -1 (log.f64 (/.f64 1 re)))))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1/4) (pow.f64 re 2))) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 1/4 (*.f64 -3/4 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1/4) (pow.f64 re 2))) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 2))))
(+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 6)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 2)))))
(+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 6)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 2))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/8 (pow.f64 im 8)) (*.f64 3/2 (pow.f64 im 6))) (pow.f64 re 4))))))
(log.f64 (+.f64 1 (*.f64 2 re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 2 re)) re))) (log.f64 (+.f64 1 (*.f64 2 re))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 2 re)) re))) (+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 2) (pow.f64 re 2)))) (*.f64 3 (/.f64 1 (*.f64 (+.f64 1 (*.f64 2 re)) (pow.f64 re 3))))) (pow.f64 im 4))) (log.f64 (+.f64 1 (*.f64 2 re)))))
(+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 30 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 3) (pow.f64 re 3)))) (+.f64 (*.f64 45 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 2) (pow.f64 re 4)))) (*.f64 45 (/.f64 1 (*.f64 (+.f64 1 (*.f64 2 re)) (pow.f64 re 5)))))) (pow.f64 im 6))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 2 re)) re))) (+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 2) (pow.f64 re 2)))) (*.f64 3 (/.f64 1 (*.f64 (+.f64 1 (*.f64 2 re)) (pow.f64 re 3))))) (pow.f64 im 4))) (log.f64 (+.f64 1 (*.f64 2 re))))))
(*.f64 -1 (log.f64 (/.f64 1 im)))
(+.f64 (/.f64 re im) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (/.f64 1 im)))
(+.f64 (/.f64 re im) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (/.f64 1 im))))
(+.f64 (/.f64 re im) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (+.f64 (/.f64 1 im) (*.f64 1/6 (/.f64 (+.f64 (*.f64 -3 (*.f64 (+.f64 1 re) (pow.f64 re 2))) (*.f64 2 (pow.f64 (+.f64 1 re) 3))) (pow.f64 im 3)))))))
(*.f64 -1 (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1 (/.f64 (+.f64 1 re) im)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1 (/.f64 (+.f64 1 re) im))))
(+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 -3 (*.f64 (+.f64 1 re) (pow.f64 re 2))) (*.f64 2 (pow.f64 (+.f64 1 re) 3))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1 (/.f64 (+.f64 1 re) im)))))
Outputs
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re))
(+.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)) (+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.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 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (*.f64 (/.f64 im 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)) (*.f64 re 2))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(*.f64 (*.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 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.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 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)) (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (/.f64 -1/16 (pow.f64 re 5)) (pow.f64 im 6)))))
(*.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 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (*.f64 (/.f64 im 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)) (*.f64 re 2))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) 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)) (+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.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 -1/2 (/.f64 im (*.f64 re re))) im))
(-.f64 re (-.f64 im (*.f64 (/.f64 -1/2 im) (*.f64 re re))))
(+.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))))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (+.f64 re (-.f64 (/.f64 -1/2 (/.f64 im (*.f64 re re))) im)))
(+.f64 (*.f64 (/.f64 -1/2 im) (*.f64 re re)) (-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 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)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (*.f64 re re) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/2 (*.f64 (*.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 re re) (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) re))))
(+.f64 (*.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 re re) (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2))))) (*.f64 (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 (/.f64 1 (pow.f64 im 3))))) -1/4)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) re))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 -1/4 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (sqrt.f64 (/.f64 1 (pow.f64 im 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 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 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 (*.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)))) (sqrt.f64 (/.f64 1 re)) (*.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 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 -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)))))))
(+.f64 (fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 2 (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.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)))))) (*.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 (pow.f64 im 4) -1/2)))))
(log.f64 (+.f64 1 im))
(log1p.f64 im)
(+.f64 (log.f64 (+.f64 1 im)) (/.f64 re (+.f64 1 im)))
(+.f64 (log1p.f64 im) (/.f64 re (+.f64 im 1)))
(+.f64 (log.f64 (+.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (*.f64 im (+.f64 1 im))) (/.f64 1 (pow.f64 (+.f64 1 im) 2))) (pow.f64 re 2))) (/.f64 re (+.f64 1 im))))
(+.f64 (log1p.f64 im) (fma.f64 1/2 (*.f64 (*.f64 re re) (-.f64 (/.f64 1 (*.f64 im (+.f64 im 1))) (/.f64 1 (pow.f64 (+.f64 im 1) 2)))) (/.f64 re (+.f64 im 1))))
(+.f64 (log1p.f64 im) (fma.f64 1/2 (*.f64 (*.f64 re re) (-.f64 (/.f64 1 (+.f64 im (*.f64 im im))) (/.f64 1 (pow.f64 (+.f64 im 1) 2)))) (/.f64 re (+.f64 im 1))))
(+.f64 (log1p.f64 im) (fma.f64 (+.f64 (/.f64 (/.f64 1/2 im) (+.f64 im 1)) (/.f64 -1/2 (pow.f64 (+.f64 im 1) 2))) (*.f64 re re) (/.f64 re (+.f64 im 1))))
(+.f64 (log.f64 (+.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1 (*.f64 im (+.f64 1 im))) (/.f64 1 (pow.f64 (+.f64 1 im) 2))) (pow.f64 re 2))) (+.f64 (*.f64 1/6 (*.f64 (-.f64 (*.f64 2 (/.f64 1 (pow.f64 (+.f64 1 im) 3))) (*.f64 3 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 im) 2) im)))) (pow.f64 re 3))) (/.f64 re (+.f64 1 im)))))
(+.f64 (log1p.f64 im) (fma.f64 1/2 (*.f64 (*.f64 re re) (-.f64 (/.f64 1 (*.f64 im (+.f64 im 1))) (/.f64 1 (pow.f64 (+.f64 im 1) 2)))) (fma.f64 1/6 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 2 (pow.f64 (+.f64 im 1) 3)) (/.f64 3 (*.f64 im (pow.f64 (+.f64 im 1) 2))))) (/.f64 re (+.f64 im 1)))))
(+.f64 (log1p.f64 im) (fma.f64 1/2 (*.f64 (*.f64 re re) (-.f64 (/.f64 1 (+.f64 im (*.f64 im im))) (/.f64 1 (pow.f64 (+.f64 im 1) 2)))) (fma.f64 1/6 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 2 (pow.f64 (+.f64 im 1) 3)) (/.f64 (/.f64 3 im) (pow.f64 (+.f64 im 1) 2)))) (/.f64 re (+.f64 im 1)))))
(+.f64 (log1p.f64 im) (fma.f64 (+.f64 (/.f64 (/.f64 1/2 im) (+.f64 im 1)) (/.f64 -1/2 (pow.f64 (+.f64 im 1) 2))) (*.f64 re re) (fma.f64 (+.f64 (/.f64 1/3 (pow.f64 (+.f64 im 1) 3)) (/.f64 -1/2 (*.f64 im (pow.f64 (+.f64 im 1) 2)))) (pow.f64 re 3) (/.f64 re (+.f64 im 1)))))
(+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))
(+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))
(+.f64 (log.f64 2) (log.f64 re))
(+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 -1 (log.f64 (/.f64 1 re)))))
(+.f64 (log.f64 2) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (/.f64 1/2 re)))
(+.f64 (log.f64 2) (+.f64 (log.f64 re) (/.f64 1/2 re)))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1/4) (pow.f64 re 2))) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(fma.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 im im) -1/4) (*.f64 re re)) (+.f64 (log.f64 2) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (/.f64 1/2 re))))
(fma.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 im im) -1/4) (*.f64 re re)) (+.f64 (log.f64 2) (+.f64 (log.f64 re) (/.f64 1/2 re))))
(fma.f64 1/2 (/.f64 (fma.f64 im (*.f64 im 1/2) -1/4) (*.f64 re re)) (+.f64 (log.f64 2) (+.f64 (log.f64 re) (/.f64 1/2 re))))
(+.f64 (*.f64 1/6 (/.f64 (+.f64 1/4 (*.f64 -3/4 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 1/2 (pow.f64 im 2)) 1/4) (pow.f64 re 2))) (+.f64 (log.f64 2) (+.f64 (*.f64 1/2 (/.f64 1 re)) (*.f64 -1 (log.f64 (/.f64 1 re)))))))
(fma.f64 1/6 (/.f64 (+.f64 1/4 (*.f64 (*.f64 im im) -3/4)) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 im im) -1/4) (*.f64 re re)) (+.f64 (log.f64 2) (+.f64 (neg.f64 (neg.f64 (log.f64 re))) (/.f64 1/2 re)))))
(fma.f64 1/6 (/.f64 (fma.f64 (*.f64 im im) -3/4 1/4) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 (fma.f64 1/2 (*.f64 im im) -1/4) (*.f64 re re)) (+.f64 (log.f64 2) (+.f64 (log.f64 re) (/.f64 1/2 re)))))
(fma.f64 1/6 (/.f64 (fma.f64 (*.f64 im im) -3/4 1/4) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 (fma.f64 im (*.f64 im 1/2) -1/4) (*.f64 re re)) (+.f64 (log.f64 2) (+.f64 (log.f64 re) (/.f64 1/2 re)))))
(*.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/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 2))))
(fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re))))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 (/.f64 im (/.f64 re im)) -1/2))
(fma.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 (*.f64 (/.f64 im re) im) -1/2))
(+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 6)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 2)))))
(fma.f64 -1/6 (/.f64 (fma.f64 1/4 (pow.f64 im 6) (*.f64 (pow.f64 im 4) -3/4)) (pow.f64 re 3)) (fma.f64 -1/2 (/.f64 (*.f64 im im) re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)))))
(fma.f64 -1/6 (/.f64 (fma.f64 (pow.f64 im 4) -3/4 (*.f64 (pow.f64 im 6) 1/4)) (pow.f64 re 3)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 (/.f64 im (/.f64 re im)) -1/2)))
(fma.f64 -1/6 (/.f64 (fma.f64 (pow.f64 im 4) -3/4 (*.f64 (pow.f64 im 6) 1/4)) (pow.f64 re 3)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 (*.f64 (/.f64 im re) im) -1/2)))
(+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 1/4 (pow.f64 im 6)) (*.f64 -3/4 (pow.f64 im 4))) (pow.f64 re 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 2))) (*.f64 1/24 (/.f64 (+.f64 (*.f64 -3/8 (pow.f64 im 8)) (*.f64 3/2 (pow.f64 im 6))) (pow.f64 re 4))))))
(fma.f64 -1/6 (/.f64 (fma.f64 1/4 (pow.f64 im 6) (*.f64 (pow.f64 im 4) -3/4)) (pow.f64 re 3)) (fma.f64 -1/2 (/.f64 (*.f64 im im) re) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 1/24 (/.f64 (fma.f64 -3/8 (pow.f64 im 8) (*.f64 (pow.f64 im 6) 3/2)) (pow.f64 re 4))))))
(fma.f64 -1/6 (/.f64 (fma.f64 (pow.f64 im 4) -3/4 (*.f64 (pow.f64 im 6) 1/4)) (pow.f64 re 3)) (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 1/24 (/.f64 (fma.f64 (pow.f64 im 8) -3/8 (*.f64 (pow.f64 im 6) 3/2)) (pow.f64 re 4))))))
(fma.f64 -1/6 (/.f64 (fma.f64 (pow.f64 im 4) -3/4 (*.f64 (pow.f64 im 6) 1/4)) (pow.f64 re 3)) (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (*.f64 re re)) (*.f64 (/.f64 1/24 (pow.f64 re 4)) (fma.f64 (pow.f64 im 6) 3/2 (*.f64 (pow.f64 im 8) -3/8))))))
(log.f64 (+.f64 1 (*.f64 2 re)))
(log1p.f64 (*.f64 re 2))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 2 re)) re))) (log.f64 (+.f64 1 (*.f64 2 re))))
(fma.f64 1/2 (/.f64 (*.f64 im im) (*.f64 re (+.f64 (*.f64 re 2) 1))) (log1p.f64 (*.f64 re 2)))
(fma.f64 1/2 (*.f64 (/.f64 im re) (/.f64 im (fma.f64 re 2 1))) (log1p.f64 (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 2 re)) re))) (+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 2) (pow.f64 re 2)))) (*.f64 3 (/.f64 1 (*.f64 (+.f64 1 (*.f64 2 re)) (pow.f64 re 3))))) (pow.f64 im 4))) (log.f64 (+.f64 1 (*.f64 2 re)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) (*.f64 re (+.f64 (*.f64 re 2) 1))) (fma.f64 -1/24 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 3 (*.f64 (*.f64 re re) (pow.f64 (+.f64 (*.f64 re 2) 1) 2))) (/.f64 3 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 re 2) 1))))) (log1p.f64 (*.f64 re 2))))
(fma.f64 1/2 (*.f64 (/.f64 im re) (/.f64 im (fma.f64 re 2 1))) (fma.f64 (*.f64 -1/8 (+.f64 (/.f64 1 (*.f64 (*.f64 re re) (pow.f64 (fma.f64 re 2 1) 2))) (/.f64 1 (*.f64 (pow.f64 re 3) (fma.f64 re 2 1))))) (pow.f64 im 4) (log1p.f64 (*.f64 re 2))))
(fma.f64 1/2 (*.f64 (/.f64 im re) (/.f64 im (fma.f64 re 2 1))) (fma.f64 (+.f64 (/.f64 -1/8 (*.f64 (*.f64 re re) (pow.f64 (fma.f64 re 2 1) 2))) (/.f64 -1/8 (*.f64 (pow.f64 re 3) (fma.f64 re 2 1)))) (pow.f64 im 4) (log1p.f64 (*.f64 re 2))))
(+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 30 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 3) (pow.f64 re 3)))) (+.f64 (*.f64 45 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 2) (pow.f64 re 4)))) (*.f64 45 (/.f64 1 (*.f64 (+.f64 1 (*.f64 2 re)) (pow.f64 re 5)))))) (pow.f64 im 6))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 2 re)) re))) (+.f64 (*.f64 -1/24 (*.f64 (+.f64 (*.f64 3 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 2 re)) 2) (pow.f64 re 2)))) (*.f64 3 (/.f64 1 (*.f64 (+.f64 1 (*.f64 2 re)) (pow.f64 re 3))))) (pow.f64 im 4))) (log.f64 (+.f64 1 (*.f64 2 re))))))
(fma.f64 1/720 (*.f64 (pow.f64 im 6) (+.f64 (/.f64 30 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 (*.f64 re 2) 1) 3))) (+.f64 (/.f64 45 (*.f64 (pow.f64 re 4) (pow.f64 (+.f64 (*.f64 re 2) 1) 2))) (/.f64 45 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 re 2) 1)))))) (fma.f64 1/2 (/.f64 (*.f64 im im) (*.f64 re (+.f64 (*.f64 re 2) 1))) (fma.f64 -1/24 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 3 (*.f64 (*.f64 re re) (pow.f64 (+.f64 (*.f64 re 2) 1) 2))) (/.f64 3 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 re 2) 1))))) (log1p.f64 (*.f64 re 2)))))
(fma.f64 1/720 (*.f64 (pow.f64 im 6) (+.f64 (/.f64 30 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 re 2 1) 3))) (+.f64 (/.f64 45 (*.f64 (pow.f64 re 4) (pow.f64 (fma.f64 re 2 1) 2))) (/.f64 (/.f64 45 (pow.f64 re 5)) (fma.f64 re 2 1))))) (fma.f64 1/2 (*.f64 (/.f64 im re) (/.f64 im (fma.f64 re 2 1))) (fma.f64 (*.f64 -1/8 (+.f64 (/.f64 1 (*.f64 (*.f64 re re) (pow.f64 (fma.f64 re 2 1) 2))) (/.f64 1 (*.f64 (pow.f64 re 3) (fma.f64 re 2 1))))) (pow.f64 im 4) (log1p.f64 (*.f64 re 2)))))
(fma.f64 1/720 (*.f64 (pow.f64 im 6) (+.f64 (/.f64 30 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 re 2 1) 3))) (+.f64 (/.f64 45 (*.f64 (pow.f64 re 4) (pow.f64 (fma.f64 re 2 1) 2))) (/.f64 45 (*.f64 (pow.f64 re 5) (fma.f64 re 2 1)))))) (fma.f64 1/2 (*.f64 (/.f64 im re) (/.f64 im (fma.f64 re 2 1))) (fma.f64 (+.f64 (/.f64 -1/8 (*.f64 (*.f64 re re) (pow.f64 (fma.f64 re 2 1) 2))) (/.f64 -1/8 (*.f64 (pow.f64 re 3) (fma.f64 re 2 1)))) (pow.f64 im 4) (log1p.f64 (*.f64 re 2)))))
(*.f64 -1 (log.f64 (/.f64 1 im)))
(neg.f64 (neg.f64 (log.f64 im)))
(log.f64 im)
(+.f64 (/.f64 re im) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (/.f64 1 im)))
(+.f64 (/.f64 re im) (fma.f64 -1 (neg.f64 (log.f64 im)) (/.f64 1 im)))
(+.f64 (/.f64 1 im) (+.f64 (log.f64 im) (/.f64 re im)))
(+.f64 (/.f64 re im) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (/.f64 1 im))))
(+.f64 (/.f64 re im) (fma.f64 1/2 (/.f64 (+.f64 (*.f64 re re) (neg.f64 (pow.f64 (+.f64 re 1) 2))) (*.f64 im im)) (fma.f64 -1 (neg.f64 (log.f64 im)) (/.f64 1 im))))
(+.f64 (/.f64 re im) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2)) (*.f64 im im)) (+.f64 (/.f64 1 im) (log.f64 im))))
(+.f64 (/.f64 1 im) (+.f64 (/.f64 re im) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2)) (*.f64 im im)) (log.f64 im))))
(+.f64 (/.f64 re im) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (+.f64 (/.f64 1 im) (*.f64 1/6 (/.f64 (+.f64 (*.f64 -3 (*.f64 (+.f64 1 re) (pow.f64 re 2))) (*.f64 2 (pow.f64 (+.f64 1 re) 3))) (pow.f64 im 3)))))))
(+.f64 (/.f64 re im) (fma.f64 1/2 (/.f64 (+.f64 (*.f64 re re) (neg.f64 (pow.f64 (+.f64 re 1) 2))) (*.f64 im im)) (+.f64 (fma.f64 -1 (neg.f64 (log.f64 im)) (/.f64 1 im)) (*.f64 1/6 (/.f64 (fma.f64 -3 (*.f64 (*.f64 re re) (+.f64 re 1)) (*.f64 2 (pow.f64 (+.f64 re 1) 3))) (pow.f64 im 3))))))
(+.f64 (/.f64 re im) (+.f64 (fma.f64 1/6 (/.f64 (fma.f64 -3 (*.f64 re (*.f64 re (+.f64 re 1))) (*.f64 2 (pow.f64 (+.f64 re 1) 3))) (pow.f64 im 3)) (/.f64 1 im)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2)) (*.f64 im im)) (log.f64 im))))
(+.f64 (/.f64 re im) (+.f64 (fma.f64 1/6 (/.f64 (fma.f64 2 (pow.f64 (+.f64 re 1) 3) (*.f64 (+.f64 re 1) (*.f64 (*.f64 re re) -3))) (pow.f64 im 3)) (/.f64 1 im)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2)) (*.f64 im im)) (log.f64 im))))
(*.f64 -1 (log.f64 (/.f64 -1 im)))
(neg.f64 (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1 (/.f64 (+.f64 1 re) im)))
(*.f64 -1 (+.f64 (log.f64 (/.f64 -1 im)) (/.f64 (+.f64 re 1) im)))
(-.f64 (neg.f64 (log.f64 (/.f64 -1 im))) (/.f64 (+.f64 re 1) im))
(-.f64 (/.f64 (+.f64 -1 (neg.f64 re)) im) (log.f64 (/.f64 -1 im)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1 (/.f64 (+.f64 1 re) im))))
(fma.f64 1/2 (/.f64 (+.f64 (*.f64 re re) (neg.f64 (pow.f64 (+.f64 re 1) 2))) (*.f64 im im)) (*.f64 -1 (+.f64 (log.f64 (/.f64 -1 im)) (/.f64 (+.f64 re 1) im))))
(fma.f64 1/2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2)) (*.f64 im im)) (-.f64 (neg.f64 (log.f64 (/.f64 -1 im))) (/.f64 (+.f64 re 1) im)))
(-.f64 (*.f64 (/.f64 1/2 (*.f64 im im)) (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2))) (+.f64 (log.f64 (/.f64 -1 im)) (/.f64 (+.f64 re 1) im)))
(+.f64 (*.f64 -1/6 (/.f64 (+.f64 (*.f64 -3 (*.f64 (+.f64 1 re) (pow.f64 re 2))) (*.f64 2 (pow.f64 (+.f64 1 re) 3))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 (+.f64 1 re) 2))) (pow.f64 im 2))) (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (*.f64 -1 (/.f64 (+.f64 1 re) im)))))
(fma.f64 -1/6 (/.f64 (fma.f64 -3 (*.f64 (*.f64 re re) (+.f64 re 1)) (*.f64 2 (pow.f64 (+.f64 re 1) 3))) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (+.f64 (*.f64 re re) (neg.f64 (pow.f64 (+.f64 re 1) 2))) (*.f64 im im)) (*.f64 -1 (+.f64 (log.f64 (/.f64 -1 im)) (/.f64 (+.f64 re 1) im)))))
(fma.f64 -1/6 (/.f64 (fma.f64 -3 (*.f64 re (*.f64 re (+.f64 re 1))) (*.f64 2 (pow.f64 (+.f64 re 1) 3))) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2)) (*.f64 im im)) (-.f64 (neg.f64 (log.f64 (/.f64 -1 im))) (/.f64 (+.f64 re 1) im))))
(fma.f64 -1/6 (/.f64 (fma.f64 2 (pow.f64 (+.f64 re 1) 3) (*.f64 (+.f64 re 1) (*.f64 (*.f64 re re) -3))) (pow.f64 im 3)) (-.f64 (*.f64 (/.f64 1/2 (*.f64 im im)) (-.f64 (*.f64 re re) (pow.f64 (+.f64 re 1) 2))) (+.f64 (log.f64 (/.f64 -1 im)) (/.f64 (+.f64 re 1) im))))

localize6.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize32.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 9 computations (72.7% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite45.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
663×pow1_binary64
615×add-log-exp_binary64
614×log1p-expm1-u_binary64
614×expm1-log1p-u_binary64
600×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify102.0ms (0.9%)

Algorithm
egg-herbie
Rules
977×fma-def_binary64
502×distribute-rgt-neg-in_binary64
453×fma-neg_binary64
407×distribute-lft-neg-in_binary64
257×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015392
133392
277392
3178392
4437392
51414392
63101392
75294392
86968392
Stop Event
node limit
Counts
81 → 51
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 -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))
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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.f64 im (/.f64 (neg.f64 im) re))

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
0.4b
(/.f64 -1/2 (/.f64 re (*.f64 im im)))
9.1b
(/.f64 re (*.f64 im im))
19.9b
(sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series7.0ms (0.1%)

Counts
4 → 84
Calls

24 calls:

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

rewrite76.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
513×log-prod_binary64
390×exp-prod_binary64
354×prod-exp_binary64
278×pow-prod-down_binary64
259×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify74.0ms (0.7%)

Algorithm
egg-herbie
Rules
1010×fma-def_binary64
433×distribute-rgt-neg-in_binary64
388×associate-*l/_binary64
354×associate-/l*_binary64
322×associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018800
139800
288800
3204800
4520800
51777800
63957800
76361800
Stop Event
node limit
Counts
273 → 199
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 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.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))
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 (sqrt.f64 -1) (*.f64 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 im (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(/.f64 (/.f64 re im) im)
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 -1/2 (/.f64 im (/.f64 re im)))
(*.f64 -1/2 (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 -1/2 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (neg.f64 (/.f64 im re)))
(/.f64 (neg.f64 im) (/.f64 re im))

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im)
0.0b
(+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re)
3.5b
(sqrt.f64 (*.f64 2 (+.f64 (-.f64 (/.f64 (*.f64 re re) (/.f64 im -1/2)) im) re)))
8.1b
(/.f64 (*.f64 re re) (/.f64 im -1/2))
Compiler

Compiled 83 to 45 computations (45.8% saved)

series39.0ms (0.4%)

Counts
4 → 84
Calls

24 calls:

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

rewrite228.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
704×log-prod_binary64
638×fma-def_binary64
409×fma-neg_binary64
246×expm1-udef_binary64
246×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify60.0ms (0.5%)

Algorithm
egg-herbie
Rules
709×associate-*l*_binary64
708×associate-*r*_binary64
521×times-frac_binary64
479×associate-/l*_binary64
464×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01161604
13681523
213501492
Stop Event
node limit
Counts
397 → 351
Calls
Call 1
Inputs
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) 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 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 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) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3))) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im)))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 re 2))) (sqrt.f64 (pow.f64 im 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 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 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) 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 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 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 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(*.f64 -1 im)
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))
Outputs
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (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 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) re))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 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 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 (*.f64 re re) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (/.f64 1 (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im))) 2) (/.f64 1/2 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)))))
(+.f64 (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 2)) (/.f64 (/.f64 (sqrt.f64 -1) (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1))) 2) (/.f64 1/2 im))) (*.f64 re re))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) re)))))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (fma.f64 -1/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 re (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1))) 2) (/.f64 1/2 im)))) (*.f64 1/2 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3))) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 (*.f64 re re) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (/.f64 1 (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im))) 2) (/.f64 1/2 im)))))) (fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im))) (fma.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im) (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (/.f64 1 (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im))) 2) (/.f64 1/2 im)) (pow.f64 re 3))) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1))) 2) (/.f64 1/2 im))) -1) (/.f64 (pow.f64 re 3) (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/4))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (/.f64 (*.f64 -1/2 (sqrt.f64 2)) (/.f64 (/.f64 (sqrt.f64 -1) (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1))) 2) (/.f64 1/2 im))) (*.f64 re re))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) re)))))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (fma.f64 -1/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (*.f64 re (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1))) 2) (/.f64 1/2 im)))) (*.f64 1/2 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 -1/4 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1))) 2) (/.f64 1/2 im))) (/.f64 (sqrt.f64 -1) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2))))
(*.f64 re (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 im) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 -1/2))))
(fma.f64 (sqrt.f64 2) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im)))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)) (fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 2) re) (/.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (sqrt.f64 -1/2)))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 im) (+.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 -1/2)) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (/.f64 (+.f64 im (pow.f64 (/.f64 (*.f64 (sqrt.f64 im) 1/2) (sqrt.f64 -1/2)) 2)) re))))))
(fma.f64 (sqrt.f64 im) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (*.f64 (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)) re) -1/2))) (*.f64 re (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im))))))
(fma.f64 1/4 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (/.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)) (fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) (*.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 2) re) (/.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (sqrt.f64 -1/2))))))))
(fma.f64 1/4 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (/.f64 (+.f64 im (pow.f64 (/.f64 (*.f64 (sqrt.f64 im) 1/2) (sqrt.f64 -1/2)) 2)) (*.f64 -1/2 (sqrt.f64 -1/2)))) (sqrt.f64 (pow.f64 im 3))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (sqrt.f64 -1/2))) (*.f64 (sqrt.f64 im) (+.f64 (/.f64 (*.f64 1/2 (sqrt.f64 2)) (sqrt.f64 -1/2)) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (/.f64 (+.f64 im (pow.f64 (/.f64 (*.f64 (sqrt.f64 im) 1/2) (sqrt.f64 -1/2)) 2)) re)))))))
(fma.f64 (sqrt.f64 im) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (*.f64 (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)) re) -1/2))) (fma.f64 (pow.f64 im 3/2) (*.f64 -1/2 (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)) (*.f64 (sqrt.f64 -1/2) (/.f64 re (/.f64 (sqrt.f64 2) re))))) (*.f64 re (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re (sqrt.f64 1/2)) (sqrt.f64 -2))))
(*.f64 (sqrt.f64 (/.f64 1 im)) (neg.f64 (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2)))))
(*.f64 re (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2)) (neg.f64 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re (sqrt.f64 1/2)) (sqrt.f64 -2)))))
(-.f64 (*.f64 (sqrt.f64 im) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (/.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) re))) (fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re (sqrt.f64 1/2)) (sqrt.f64 -2))))))
(-.f64 (*.f64 (sqrt.f64 im) (+.f64 (*.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) re)) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2)))))
(fma.f64 (sqrt.f64 im) (fma.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (/.f64 (-.f64 im (pow.f64 (/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 1/2) 1/2)) 2)) re) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))) (*.f64 re (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2)) (neg.f64 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 re 2))) (sqrt.f64 (pow.f64 im 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (/.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) re))) (fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (fma.f64 -1/4 (*.f64 (sqrt.f64 (pow.f64 im 3)) (/.f64 (sqrt.f64 -2) (/.f64 (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 1/2) 3)) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2))))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re (sqrt.f64 1/2)) (sqrt.f64 -2)))))))
(+.f64 (-.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 -2) (*.f64 re re)) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) (*.f64 1/2 (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 (pow.f64 im 3)) -1/4)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) re)) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))))
(fma.f64 (sqrt.f64 im) (fma.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (/.f64 (-.f64 im (pow.f64 (/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 1/2) 1/2)) 2)) re) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))) (-.f64 (*.f64 -1/2 (/.f64 (*.f64 (sqrt.f64 -2) (*.f64 (pow.f64 im 3/2) (-.f64 im (pow.f64 (/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 1/2) 1/2)) 2)))) (*.f64 (*.f64 re re) (sqrt.f64 1/2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 -2) (*.f64 re (sqrt.f64 1/2))))))
(*.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 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.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 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 re im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) re)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 re im))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 re im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) re)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 re im))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 re im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) re)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 re im))
(+.f64 re (+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im))))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(-.f64 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 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 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.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 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 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 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.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 (fma.f64 -1/2 (/.f64 (*.f64 re re) im) re) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (-.f64 re 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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))
(+.f64 (*.f64 -1 im) (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (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))
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 re re) im)) im)
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) (neg.f64 im))

eval573.0ms (5.1%)

Compiler

Compiled 17604 to 12045 computations (31.6% saved)

prune322.0ms (2.9%)

Pruning

21 alts after pruning (12 fresh and 9 done)

PrunedKeptTotal
New82110831
Fresh527
Picked101
Done099
Total82721848
Error
3.0b
Counts
848 → 21
Alt Table
Click to see full alt table
StatusErrorProgram
55.0b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) im) (sqrt.f64 2)))
58.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) im)) 2)))))
55.2b
(*.f64 1/2 (pow.f64 (exp.f64 1/2) (log.f64 (*.f64 -1 (/.f64 im (/.f64 re im))))))
57.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6) 3))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
57.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
17.5b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (+.f64 re (*.f64 re (*.f64 re (/.f64 -1/2 im)))) im))))
55.2b
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 -1 (/.f64 im (/.f64 re im))))) 1/3)))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))))))
17.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (expm1.f64 (log1p.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))))))))
41.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
14.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
57.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
13.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
51.0b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
61.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
54.6b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im))))
43.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 439 to 345 computations (21.4% saved)

localize21.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 56 to 28 computations (50% saved)

series56.0ms (0.5%)

Counts
2 → 48
Calls

12 calls:

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

rewrite103.0ms (0.9%)

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

Useful iterations: 1 (0.0ms)

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

simplify343.0ms (3.1%)

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

Useful iterations: 2 (0.0ms)

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

localize17.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series6.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite126.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

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

simplify198.0ms (1.8%)

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

Useful iterations: 3 (0.0ms)

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

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (neg.f64 im) (/.f64 re im))
19.9b
(sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
Compiler

Compiled 32 to 9 computations (71.9% saved)

series5.0ms (0%)

Counts
2 → 36
Calls

12 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
(sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
0.0ms
re
@inf
(sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
0.0ms
re
@0
(sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
0.0ms
im
@0
(sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))
0.0ms
im
@0
(/.f64 (neg.f64 im) (/.f64 re im))

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
722×pow1_binary64
673×add-log-exp_binary64
672×log1p-expm1-u_binary64
672×expm1-log1p-u_binary64
656×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify75.0ms (0.7%)

Algorithm
egg-herbie
Rules
977×fma-def_binary64
502×distribute-rgt-neg-in_binary64
453×fma-neg_binary64
407×distribute-lft-neg-in_binary64
257×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
015392
133392
277392
3178392
4437392
51414392
63101392
75294392
86968392
Stop Event
node limit
Counts
113 → 83
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 -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))
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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (neg.f64 (sqrt.f64 -1))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(*.f64 (sqrt.f64 -1) (*.f64 im (neg.f64 (sqrt.f64 (/.f64 1 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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.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 (neg.f64 im) (/.f64 im re))
(*.f64 im (/.f64 (neg.f64 im) re))

localize33.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 85 to 53 computations (37.6% saved)

series9.0ms (0.1%)

Counts
4 → 84
Calls

24 calls:

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

rewrite93.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
673×log-prod_binary64
627×fma-def_binary64
350×pow2_binary64
293×fma-neg_binary64
242×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify76.0ms (0.7%)

Algorithm
egg-herbie
Rules
711×associate-*l*_binary64
706×associate-*r*_binary64
521×times-frac_binary64
482×associate-/l*_binary64
453×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01121478
13581397
213291366
Stop Event
node limit
Counts
230 → 177
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) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 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) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3))) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im)))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 re 2))) (sqrt.f64 (pow.f64 im 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 re im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
re
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
re
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
re
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (/.f64 (sqrt.f64 -1) re)) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 2)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 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 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (/.f64 1/2 im)) (*.f64 re re))))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))))
(+.f64 (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 re (*.f64 re (+.f64 (pow.f64 (/.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 -1)) 2) (/.f64 1/2 im)))))) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (sqrt.f64 -1) re)))))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 2)) (*.f64 re (+.f64 (pow.f64 (/.f64 1/2 (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) 2) (/.f64 1/2 im)))) (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 2)))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 2))) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)) (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) 2) (*.f64 1/2 (/.f64 1 im))) (pow.f64 re 3))) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (/.f64 1/2 im)) (*.f64 re re))))) (fma.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))) (fma.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im) (*.f64 1/4 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 3) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 -1)))) 2) (/.f64 1/2 im)) (pow.f64 re 3)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (/.f64 -1 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 -1)) 2) (/.f64 1/2 im)) (pow.f64 re 3)) (sqrt.f64 -1)))) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (*.f64 re (*.f64 re (+.f64 (pow.f64 (/.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 -1)) 2) (/.f64 1/2 im)))))) (/.f64 (*.f64 1/2 (sqrt.f64 2)) (/.f64 (sqrt.f64 -1) re)))))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (fma.f64 -1/2 (*.f64 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 2)) (*.f64 re (+.f64 (pow.f64 (/.f64 1/2 (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) 2) (/.f64 1/2 im)))) (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 2)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) 2) (/.f64 1/2 im)) (pow.f64 re 3)) (/.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 re (sqrt.f64 -1/2)) (sqrt.f64 (/.f64 1 im))))
(*.f64 (*.f64 re (sqrt.f64 -1/2)) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))))
(*.f64 (sqrt.f64 2) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1/2))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) (*.f64 (*.f64 re (sqrt.f64 -1/2)) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1/2)) (*.f64 (sqrt.f64 im) (*.f64 (/.f64 1/2 (sqrt.f64 -1/2)) (sqrt.f64 2))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im)))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)) (fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) (*.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) re) (/.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (sqrt.f64 -1/2)))) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 2) (*.f64 re (*.f64 (sqrt.f64 -1/2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)) re))))))
(fma.f64 (sqrt.f64 im) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) -1/2) (*.f64 re (sqrt.f64 -1/2))) (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)))) (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1/2)))))
(+.f64 (*.f64 1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (sqrt.f64 im))) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 im))) 2) im)) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 im))))))
(fma.f64 1/4 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (/.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (pow.f64 (sqrt.f64 -1/2) 3))) (sqrt.f64 (pow.f64 im 3))) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 -1/2))) (sqrt.f64 (/.f64 1 im)) (fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) (*.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) re) (/.f64 (+.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 -1/2)))) 2)) (sqrt.f64 -1/2)))) (sqrt.f64 im)))))
(fma.f64 1/4 (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (*.f64 re re)) (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)) (*.f64 -1/2 (sqrt.f64 -1/2)))) (sqrt.f64 (pow.f64 im 3))) (fma.f64 (sqrt.f64 2) (*.f64 re (*.f64 (sqrt.f64 -1/2) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2))) (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)) re)))))))
(fma.f64 (sqrt.f64 im) (fma.f64 1/2 (/.f64 (sqrt.f64 2) (sqrt.f64 -1/2)) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) -1/2) (*.f64 re (sqrt.f64 -1/2))) (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)))) (fma.f64 (pow.f64 im 3/2) (*.f64 -1/2 (/.f64 (+.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 -1/2))) 2)) (*.f64 (sqrt.f64 -1/2) (/.f64 (*.f64 re re) (sqrt.f64 2))))) (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 -1/2))))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2)))))
(*.f64 (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 im))))
(*.f64 re (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2)) (neg.f64 (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (sqrt.f64 1/2)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (*.f64 (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 im)))))
(-.f64 (*.f64 (sqrt.f64 im) (/.f64 (*.f64 1/2 (sqrt.f64 -2)) (sqrt.f64 1/2))) (*.f64 re (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (/.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) re))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (sqrt.f64 1/2)) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2)))))))
(-.f64 (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) re))) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2)))))
(fma.f64 (sqrt.f64 im) (fma.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) re) (/.f64 (*.f64 1/2 (sqrt.f64 -2)) (sqrt.f64 1/2))) (*.f64 re (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2)) (neg.f64 (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (sqrt.f64 1/2) re)) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (sqrt.f64 im))) (+.f64 (*.f64 -1/4 (*.f64 (/.f64 (*.f64 (sqrt.f64 -2) (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (/.f64 1 (sqrt.f64 1/2)) (sqrt.f64 im))) 2))) (*.f64 (pow.f64 (sqrt.f64 1/2) 3) (pow.f64 re 2))) (sqrt.f64 (pow.f64 im 3)))) (*.f64 -1 (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 -1/2 (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (/.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) re))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (sqrt.f64 1/2)) (fma.f64 -1/4 (*.f64 (sqrt.f64 (pow.f64 im 3)) (*.f64 (/.f64 (sqrt.f64 -2) (pow.f64 (sqrt.f64 1/2) 3)) (/.f64 (-.f64 im (pow.f64 (*.f64 1/2 (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 1/2)))) 2)) (*.f64 re re)))) (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (sqrt.f64 1/2) (*.f64 re (sqrt.f64 -2))))))))
(+.f64 (fma.f64 (*.f64 (*.f64 -1/4 (/.f64 (sqrt.f64 -2) (*.f64 1/2 (sqrt.f64 1/2)))) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) (*.f64 re re))) (sqrt.f64 (pow.f64 im 3)) (*.f64 (*.f64 re (*.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (neg.f64 (sqrt.f64 (/.f64 1 im))))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2)) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) re))) (*.f64 1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))))))
(-.f64 (fma.f64 (sqrt.f64 im) (fma.f64 (*.f64 -1/2 (/.f64 (sqrt.f64 -2) (sqrt.f64 1/2))) (/.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) re) (/.f64 (*.f64 1/2 (sqrt.f64 -2)) (sqrt.f64 1/2))) (*.f64 -1/2 (/.f64 (*.f64 (-.f64 im (pow.f64 (*.f64 (sqrt.f64 im) (/.f64 1/2 (sqrt.f64 1/2))) 2)) (*.f64 (pow.f64 im 3/2) (sqrt.f64 -2))) (*.f64 re (*.f64 re (sqrt.f64 1/2)))))) (*.f64 re (*.f64 (*.f64 (sqrt.f64 1/2) (sqrt.f64 -2)) (sqrt.f64 (/.f64 1 im)))))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 re im))
(/.f64 re (/.f64 im -1/2))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
re
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(*.f64 -1/2 (/.f64 (pow.f64 re 2) im))
(*.f64 -1/2 (/.f64 (*.f64 re re) im))
(*.f64 -1/2 (/.f64 re (/.f64 im re)))
(*.f64 (/.f64 -1/2 im) (*.f64 re re))
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
re
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
re
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)
(+.f64 re (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)))
(+.f64 re (*.f64 -1/2 (/.f64 (*.f64 re re) im)))
(fma.f64 -1/2 (/.f64 re (/.f64 im re)) re)
(fma.f64 -1/2 (*.f64 (/.f64 re im) re) re)

localize34.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6) 3)
9.0b
(/.f64 (*.f64 im im) re)
30.6b
(pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6)
Compiler

Compiled 56 to 28 computations (50% saved)

series201.0ms (1.8%)

Counts
3 → 72
Calls

18 calls:

TimeVariablePointExpression
71.0ms
re
@-inf
(pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6)
67.0ms
im
@0
(pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6)
29.0ms
re
@0
(pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6)
11.0ms
re
@inf
(pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6)
11.0ms
im
@inf
(pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6)

rewrite195.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
971×pow1_binary64
914×add-log-exp_binary64
914×log1p-expm1-u_binary64
914×expm1-log1p-u_binary64
114×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify236.0ms (2.1%)

Algorithm
egg-herbie
Rules
420×distribute-rgt-in_binary64
319×distribute-lft-in_binary64
285×associate-*l*_binary64
276×exp-sum_binary64
257×associate-*r*_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0561056
11601056
2353960
31013816
43601744
Stop Event
node limit
Counts
179 → 123
Calls
Call 1
Inputs
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re)))))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.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)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
Outputs
(exp.f64 (*.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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2))))))
(pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im))
(exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (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 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.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))
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(*.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (*.f64 -1 (pow.f64 im 2))) (*.f64 -1 (log.f64 re))))) (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -1 (log.f64 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 2))
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (/.f64 1 re)) (log.f64 (*.f64 -1 (pow.f64 im 2)))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)
(pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 -1 re))))) 3)
(pow.f64 (pow.f64 (exp.f64 1/6) (fma.f64 2 (log.f64 im) (log.f64 (/.f64 -1 re)))) 3)
(pow.f64 (*.f64 (pow.f64 re -1/6) (pow.f64 (*.f64 im (neg.f64 im)) 1/6)) 3)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3)
(pow.f64 (*.f64 (neg.f64 im) (/.f64 im re)) 1/2)

eval856.0ms (7.6%)

Compiler

Compiled 18300 to 13394 computations (26.8% saved)

prune218.0ms (1.9%)

Pruning

27 alts after pruning (13 fresh and 14 done)

PrunedKeptTotal
New6257632
Fresh167
Picked011
Done01313
Total62627653
Error
0.5b
Counts
653 → 27
Alt Table
Click to see full alt table
StatusErrorProgram
55.8b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (*.f64 im im) 1/6) (pow.f64 (/.f64 -1 re) 1/6)) 3))
57.3b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (*.f64 -2 (log.f64 (/.f64 -1 im))) (log.f64 (/.f64 -1 re))))) 3))
55.0b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) im) (sqrt.f64 2)))
58.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) im)) 2)))))
17.3b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))) 2) 1/6) 3))
45.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
57.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
17.5b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (+.f64 re (*.f64 re (*.f64 re (/.f64 -1/2 im)))) im))))
55.2b
(*.f64 1/2 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 -1 (/.f64 im (/.f64 re im))))) 1/3)))
16.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))))))
52.2b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3))
17.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (expm1.f64 (expm1.f64 (log1p.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))))))))
48.5b
(*.f64 1/2 (pow.f64 (exp.f64 (*.f64 1/6 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 3))
54.6b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
41.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
14.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re))))
57.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
13.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
51.0b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
41.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
43.1b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
55.6b
(*.f64 1/2 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 im)) 3))
57.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (/.f64 (*.f64 im im) re) -1) 1/6) 3))
61.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
54.6b
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im))))
Compiler

Compiled 364 to 294 computations (19.2% saved)

regimes1.0s (9.2%)

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

8 calls:

225.0ms
im
190.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
125.0ms
re
79.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
62.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Results
ErrorSegmentsBranch
10.9b2re
10.6b5im
9.2b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
9.2b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
9.5b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
9.5b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
13.2b1(*.f64 im im)
13.2b1(*.f64 im im)
Compiler

Compiled 530 to 358 computations (32.5% saved)

bsearch1.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
1.0530853857722505e-144
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes511.0ms (4.6%)

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

285.0ms
re
123.0ms
im
55.0ms
(*.f64 im im)
21.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
25.5b14re
21.8b3im
36.1b3(*.f64 im im)
36.1b3(*.f64 im im)
Compiler

Compiled 225 to 153 computations (32% saved)

bsearch139.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
59.0ms
1.8356349810907477e-242
1.3670242256991735e-238
79.0ms
-9.235809192728668e-169
-3.0587138122057835e-182
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes91.0ms (0.8%)

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

4 calls:

40.0ms
re
21.0ms
im
14.0ms
(*.f64 im im)
13.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
30.4b8re
21.9b3im
35.1b4(*.f64 im im)
35.1b4(*.f64 im im)
Compiler

Compiled 75 to 53 computations (29.3% saved)

bsearch144.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
55.0ms
1.8356349810907477e-242
1.3670242256991735e-238
89.0ms
-3.0587138122057835e-182
-7.338494533855636e-183
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes51.0ms (0.5%)

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

2 calls:

36.0ms
re
14.0ms
im
Results
ErrorSegmentsBranch
30.9b8re
22.3b3im
Compiler

Compiled 33 to 26 computations (21.2% saved)

bsearch130.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
77.0ms
1.0135128737746957e-225
2.8471562888943414e-222
52.0ms
-3.0587138122057835e-182
-7.338494533855636e-183
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes21.0ms (0.2%)

Accuracy

Total -27.5b remaining (-77.8%)

Threshold costs -27.5b (-77.8%)

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

2 calls:

11.0ms
im
9.0ms
re
Results
ErrorSegmentsBranch
35.4b2re
35.4b2im
Compiler

Compiled 26 to 20 computations (23.1% saved)

bsearch78.0ms (0.7%)

Algorithm
binary-search
Steps
TimeLeftRight
77.0ms
1.0135128737746957e-225
2.8471562888943414e-222
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify11.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
056217
181213
292213
397213
499213
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -7848782650663281/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 8819878727732087/480481077043500814718154092512592439123952613987168226347385561008808420007630829308634252709141208374307457227821149607627692202643343568752733498024953930242542523045817764949544214392905306388478705146745768073877141698859815495632935288783334250628775936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 8819878727732087/480481077043500814718154092512592439123952613987168226347385561008808420007630829308634252709141208374307457227821149607627692202643343568752733498024953930242542523045817764949544214392905306388478705146745768073877141698859815495632935288783334250628775936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 6758118470239209/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im 6758118470239209/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Outputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0) (*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 im) (/.f64 re im)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -7848782650663281/8498207885068273579033411304839498037273489883632510771191106211206456957773635883826600036243668570702229271779944016245545269402443315830552319660265397631101300333366291504507650048) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 8819878727732087/480481077043500814718154092512592439123952613987168226347385561008808420007630829308634252709141208374307457227821149607627692202643343568752733498024953930242542523045817764949544214392905306388478705146745768073877141698859815495632935288783334250628775936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 8819878727732087/480481077043500814718154092512592439123952613987168226347385561008808420007630829308634252709141208374307457227821149607627692202643343568752733498024953930242542523045817764949544214392905306388478705146745768073877141698859815495632935288783334250628775936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (neg.f64 (*.f64 2 im)))) (if (<=.f64 im 8819878727732087/480481077043500814718154092512592439123952613987168226347385561008808420007630829308634252709141208374307457227821149607627692202643343568752733498024953930242542523045817764949544214392905306388478705146745768073877141698859815495632935288783334250628775936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 8819878727732087/480481077043500814718154092512592439123952613987168226347385561008808420007630829308634252709141208374307457227821149607627692202643343568752733498024953930242542523045817764949544214392905306388478705146745768073877141698859815495632935288783334250628775936) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 6758118470239209/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (neg.f64 (*.f64 2 im)))) (if (<=.f64 im 6758118470239209/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -4572839980069583/149502054158244092924433911175587146134101311725520811805218980426523448679093940601025751001247626027946551200107541538756647476310030352326743206124657514520641361489437161884315621531536712531968) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6758118470239209/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im 6758118470239209/6668014432879854274079851790721257797144758322315908160396257811764037237817632071521432200871554290742929910593433240445888801654119365080363356052330830046095157579514014558463078285911814024728965016135886601981690748037476461291163877376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Compiler

Compiled 153 to 120 computations (21.6% saved)

soundness177.0ms (1.6%)

Algorithm
egg-herbie
Rules
1010×fma-def_binary64
739×fma-def_binary64
660×associate-*r*_binary64
608×associate-*l*_binary64
433×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01511595
14531494
214321438
366081438
018800
139800
288800
3204800
4520800
51777800
63957800
76361800
01315
12515
23415
33615
Stop Event
saturated
node limit
node limit
Compiler

Compiled 123 to 88 computations (28.5% saved)

end95.0ms (0.8%)

Compiler

Compiled 143 to 105 computations (26.6% saved)

Profiling

Loading profile data...