Details

Time bar (total: 9.4s)

analyze187.0ms (2%)

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

Compiled 18 to 13 computations (27.8% saved)

sample1.6s (17.1%)

Results
828.0ms6402×body256valid
289.0ms535×body4096valid
284.0ms659×body2048valid
138.0ms410×body1024valid
57.0ms250×body512valid

preprocess15.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 19 to 14 computations (26.3% saved)

simplify10.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 12 to 9 computations (25% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 39 to 16 computations (59% saved)

series13.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

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

rewrite65.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify67.0ms (0.7%)

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

eval42.0ms (0.5%)

Compiler

Compiled 2095 to 1417 computations (32.4% saved)

prune27.0ms (0.3%)

Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New8912101
Fresh000
Picked011
Done000
Total8913102
Error
5.2b
Counts
102 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
17.2b
(*.f64 1/2 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))))))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
46.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
53.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
46.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2)))))
14.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
30.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3))
48.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
Compiler

Compiled 314 to 255 computations (18.8% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
0.0b
(sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
0.7b
(+.f64 re (hypot.f64 re im))
2.9b
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
Compiler

Compiled 60 to 27 computations (55% saved)

series20.0ms (0.2%)

Counts
3 → 24
Calls

18 calls:

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

rewrite70.0ms (0.7%)

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

simplify85.0ms (0.9%)

Algorithm
egg-herbie
Rules
751×fma-def_binary64
390×*-commutative_binary64
340×times-frac_binary64
330×associate-/r*_binary64
321×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01601932
14841655
217621536
371331536
Stop Event
node limit
Counts
89 → 72
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(*.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 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))))) (pow.f64 re 3))) (+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 1 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3)))) (+.f64 (*.f64 90 (/.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 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 2)))) (*.f64 360 (*.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))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))))) (pow.f64 im 6))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 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 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (*.f64 1/2 (*.f64 (sqrt.f64 2) re)))))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re)) 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 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (*.f64 1/2 (*.f64 (sqrt.f64 2) re))))) (*.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 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re)) re))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (sqrt.f64 im))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.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))))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (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 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (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 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)))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (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 (-.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))))) (pow.f64 im 6)))) (fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 2 (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (pow.f64 im 4)) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (*.f64 1/2 (pow.f64 im 6)))) (*.f64 2 (sqrt.f64 re))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 1/2 (sqrt.f64 (/.f64 1 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 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (*.f64 1/2 (*.f64 (sqrt.f64 2) re)))))
(fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re)) 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 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (*.f64 1/2 (*.f64 (sqrt.f64 2) re))))) (*.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 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re)) re))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (sqrt.f64 im))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.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))))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (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 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (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 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)))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (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 (-.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))))) (pow.f64 im 6)))) (fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 2 (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (pow.f64 im 4)) (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (*.f64 1/2 (pow.f64 im 6)))) (*.f64 2 (sqrt.f64 re))))
(log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) re)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (/.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) (sqrt.f64 2)))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (+.f64 (*.f64 (*.f64 re re) (fma.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 im (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) re))))))
(fma.f64 1/2 (fma.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (fma.f64 re (/.f64 (*.f64 (/.f64 -1/2 im) re) (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 re re) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)))) (/.f64 re (/.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) (sqrt.f64 2)))))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))))) (pow.f64 re 3))) (+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 3))) (*.f64 -3/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1))) (/.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 (sqrt.f64 2) 2)) (*.f64 im (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2))))))) (+.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (+.f64 (*.f64 (*.f64 re re) (fma.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 im (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1))))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (sqrt.f64 2) (/.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) re)))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (+.f64 (/.f64 (*.f64 -3 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (/.f64 (*.f64 1/4 (*.f64 (sqrt.f64 2) 2)) (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 3)) (*.f64 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) -3/2))))) (fma.f64 1/2 (fma.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 (pow.f64 re 3) (*.f64 1/6 (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (fma.f64 1/4 (pow.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) 3) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) -3/2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) (/.f64 (/.f64 -3 (/.f64 im (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (fma.f64 1/2 (fma.f64 re (/.f64 (*.f64 (/.f64 -1/2 im) re) (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 re re) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)))) (/.f64 re (/.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) (sqrt.f64 2)))))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(log1p.f64 (*.f64 2 (sqrt.f64 re)))
(+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(+.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (fma.f64 2 (sqrt.f64 re) 1))) (log1p.f64 (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (/.f64 3/4 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2))))) (+.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 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)) (fma.f64 2 (sqrt.f64 re) 1))) (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (fma.f64 2 (sqrt.f64 re) 1))) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 -12 (/.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)) (fma.f64 2 (sqrt.f64 re) 1))) (/.f64 (/.f64 -3/4 (pow.f64 re 3)) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (*.f64 (pow.f64 im 4) 1/24) (log1p.f64 (*.f64 2 (sqrt.f64 re)))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 1 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3)))) (+.f64 (*.f64 90 (/.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 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 2)))) (*.f64 360 (*.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))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))))) (pow.f64 im 6))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (/.f64 3/4 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2))))) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 1 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3))) (fma.f64 90 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2))) (*.f64 360 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (+.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 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)) (fma.f64 2 (sqrt.f64 re) 1))) (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))))) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 15/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3)) (fma.f64 360 (/.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 (fma.f64 2 (sqrt.f64 re) 1) (sqrt.f64 (/.f64 1 re)))) (*.f64 (/.f64 90 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re))))))
(fma.f64 (pow.f64 im 6) (*.f64 1/720 (fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 360 (/.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)))) (fma.f64 2 (sqrt.f64 re) 1))) (fma.f64 15/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3)) (/.f64 (fma.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2) 90 (/.f64 45/4 (pow.f64 re 3))) (*.f64 re (*.f64 re (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))))))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (*.f64 im im) (fma.f64 2 (sqrt.f64 re) 1))) (fma.f64 (fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 -12 (/.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)) (fma.f64 2 (sqrt.f64 re) 1))) (/.f64 (/.f64 -3/4 (pow.f64 re 3)) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (*.f64 (pow.f64 im 4) 1/24) (log1p.f64 (*.f64 2 (sqrt.f64 re))))))

localize8.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize13.0ms (0.1%)

Compiler

Compiled 23 to 15 computations (34.8% saved)

localize24.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series6.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite62.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify57.0ms (0.6%)

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

Useful iterations: 4 (0.0ms)

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

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 15 computations (28.6% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite55.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

eval99.0ms (1.1%)

Compiler

Compiled 4675 to 3456 computations (26.1% saved)

prune44.0ms (0.5%)

Pruning

18 alts after pruning (12 fresh and 6 done)

PrunedKeptTotal
New1787185
Fresh257
Picked011
Done055
Total18018198
Error
5.2b
Counts
198 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
47.9b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
17.2b
(*.f64 1/2 (expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))))))
18.6b
(*.f64 1/2 (expm1.f64 (expm1.f64 (log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))))
52.0b
(*.f64 1/2 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3)))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
51.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
46.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
53.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
46.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2)))))
46.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
48.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
49.2b
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1))
14.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 380 to 315 computations (17.1% saved)

localize37.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
0.7b
(expm1.f64 (log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
0.7b
(+.f64 re (hypot.f64 re im))
2.9b
(expm1.f64 (expm1.f64 (log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
Compiler

Compiled 85 to 42 computations (50.6% saved)

series29.0ms (0.3%)

Counts
3 → 24
Calls

18 calls:

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

rewrite71.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
711×prod-diff_binary64
458×log-prod_binary64
284×pow-prod-down_binary64
256×pow2_binary64
220×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify104.0ms (1.1%)

Algorithm
egg-herbie
Rules
812×associate-*l/_binary64
717×associate-*r/_binary64
348×associate-+l+_binary64
303×associate-+r+_binary64
284×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02613331
18742780
236152636
Stop Event
node limit
Counts
122 → 145
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))))) (pow.f64 re 3))) (+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 1 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3)))) (+.f64 (*.f64 90 (/.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 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 2)))) (*.f64 360 (*.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))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))))) (pow.f64 im 6))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))))
(log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))
(+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) im)))) (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 2) im))))))))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) im)))) (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im))))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))) (pow.f64 re 3))) (+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) im)))) (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 2) im)))))))))))
(log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))))) (pow.f64 im 4)))))
(+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 90 (/.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 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 2))))) (+.f64 (*.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 3))))) (+.f64 (*.f64 -15/2 (*.f64 (/.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 360 (*.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))))) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (sqrt.f64 (/.f64 1 re)))) (*.f64 15/4 (*.f64 (/.f64 1 (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))) (pow.f64 im 6))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))))) (pow.f64 im 4))))))
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 (*.f64 1/2 (sqrt.f64 2)) (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)))
(+.f64 (*.f64 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 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (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 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (*.f64 (*.f64 1/2 (sqrt.f64 2)) re))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re)) 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 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3)) (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)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re))) (*.f64 (*.f64 1/2 (sqrt.f64 2)) re)))) (*.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) -1/4) (sqrt.f64 im))) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 re re)) re))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 4)) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (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 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 4)) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2))) (*.f64 (*.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 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (*.f64 re re))))) (pow.f64 im 6)))) (fma.f64 2 (sqrt.f64 re) (*.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.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 (*.f64 -1/2 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (pow.f64 im 4)) (*.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))))))))
(log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1))) (sqrt.f64 (/.f64 1 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (/.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) (sqrt.f64 2)))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (+.f64 (*.f64 (*.f64 re re) (fma.f64 -1/4 (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) im) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1))))))
(fma.f64 1/2 (fma.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (/.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) (sqrt.f64 2))))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (fma.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))))) (pow.f64 re 3))) (+.f64 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 3))) (*.f64 -3/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1))) (/.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 (sqrt.f64 2) 2)) (*.f64 im (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2))))))) (+.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 1/2 (+.f64 (*.f64 (*.f64 re re) (fma.f64 -1/4 (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) im) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (+.f64 (/.f64 (*.f64 -3 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (*.f64 1/4 (/.f64 2 (/.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 3) (sqrt.f64 2)))) (/.f64 (*.f64 -3/2 (sqrt.f64 2)) (/.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))))) (fma.f64 1/2 (fma.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (/.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) (sqrt.f64 2))))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 (/.f64 -3 im) (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (+.f64 (/.f64 1/2 (/.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 3) (sqrt.f64 2))) (*.f64 (/.f64 (*.f64 -3/2 (sqrt.f64 2)) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))))))) (fma.f64 1/2 (fma.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 (sqrt.f64 2) re) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)))) (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(log1p.f64 (*.f64 2 (sqrt.f64 re)))
(+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(+.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (*.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (/.f64 (*.f64 im im) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (neg.f64 (/.f64 3/4 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2)))))) (+.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (*.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (/.f64 (*.f64 im im) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (fma.f64 2 (sqrt.f64 re) 1))) (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re)))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (fma.f64 2 (sqrt.f64 re) 1)) (*.f64 (sqrt.f64 (/.f64 1 re)) -12) (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re)))))
(+.f64 (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 1 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3)))) (+.f64 (*.f64 90 (/.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 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 2)))) (*.f64 360 (*.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))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))))) (pow.f64 im 6))) (+.f64 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (neg.f64 (/.f64 3/4 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2)))))) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 15/4 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) 1) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3)) (fma.f64 90 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2))) (*.f64 360 (/.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (sqrt.f64 (/.f64 1 re))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))) (+.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (*.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (/.f64 (*.f64 im im) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (fma.f64 2 (sqrt.f64 re) 1))) (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))))) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 15/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3)) (fma.f64 90 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (*.f64 (*.f64 re re) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (*.f64 360 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (*.f64 re re)))) (fma.f64 2 (sqrt.f64 re) 1))))))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (fma.f64 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (fma.f64 2 (sqrt.f64 re) 1)) (*.f64 (sqrt.f64 (/.f64 1 re)) -12) (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))))) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 15/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3)) (fma.f64 90 (/.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 re re) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (*.f64 (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (fma.f64 2 (sqrt.f64 re) 1)) (*.f64 (sqrt.f64 (/.f64 1 re)) 360))))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 im (/.f64 (fma.f64 2 (sqrt.f64 re) 1) im))) (log1p.f64 (*.f64 2 (sqrt.f64 re))))))
(log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))
(log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (*.f64 (/.f64 re (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) (sqrt.f64 (/.f64 1 im)))) (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) im)))) (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 2) im))))))))))
(+.f64 (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 1/2 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (*.f64 re re) (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)) (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (sqrt.f64 (/.f64 1 im)) (*.f64 -1/4 (+.f64 (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) (*.f64 im (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) (*.f64 im (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2))))))))))
(fma.f64 1/2 (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 re (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (*.f64 re re) (+.f64 (/.f64 -1/2 (*.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2) (*.f64 im (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2)))) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 (sqrt.f64 2) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (/.f64 -1/2 (*.f64 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))))) (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 re (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (/.f64 2 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (+.f64 (/.f64 -1/4 (+.f64 im (*.f64 im (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (/.f64 -1/4 (*.f64 im (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2)))))))) (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) im)))) (+.f64 (*.f64 1/4 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 3) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) im))) (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (sqrt.f64 (/.f64 1 im))))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 2))) (sqrt.f64 (/.f64 1 im)))) (*.f64 -3/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))) (pow.f64 re 3))) (+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im)))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) im)))) (*.f64 -1/4 (/.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))) 2) (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))) 2) im)))))))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 3)) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 3))) (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 im (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (fma.f64 1/4 (/.f64 (*.f64 (pow.f64 (sqrt.f64 2) 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 3) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 -3/2 (+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)) (/.f64 (fma.f64 -1/4 (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) im) (/.f64 (*.f64 (*.f64 (sqrt.f64 2) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)) (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))))))))) (+.f64 (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) (*.f64 1/2 (+.f64 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (*.f64 re re) (fma.f64 (*.f64 (/.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1)) (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (sqrt.f64 (/.f64 1 im)) (*.f64 -1/4 (+.f64 (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) (*.f64 im (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (/.f64 (/.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) 1) 2)) (*.f64 im (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2)))))))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (+.f64 (fma.f64 -3/2 (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 (sqrt.f64 2) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 (sqrt.f64 2) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 1/4 (/.f64 2 (/.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 3) (sqrt.f64 2)))) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (fma.f64 (/.f64 (*.f64 1/4 (/.f64 2 (/.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 3) (sqrt.f64 2)))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 -3 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (*.f64 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))))) (fma.f64 1/2 (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 re (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (*.f64 re re) (+.f64 (/.f64 -1/2 (*.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2) (*.f64 im (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2)))) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 (sqrt.f64 2) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (/.f64 -1/2 (*.f64 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))))) (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))
(fma.f64 1/6 (*.f64 (pow.f64 re 3) (+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (+.f64 (*.f64 (/.f64 (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4))) (/.f64 -1/2 (*.f64 im (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2)) (sqrt.f64 (/.f64 1 im))) (/.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (/.f64 1/2 (/.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 3) (sqrt.f64 2))) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))) (fma.f64 (/.f64 (/.f64 1/2 (/.f64 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 3) (sqrt.f64 2))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (/.f64 -3 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (+.f64 im (*.f64 im (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))))) (fma.f64 1/2 (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 re (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (*.f64 re re) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (/.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1)) (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (*.f64 (/.f64 2 (pow.f64 (fma.f64 (sqrt.f64 2) (sqrt.f64 im) 1) 2)) (+.f64 (/.f64 -1/4 (+.f64 im (*.f64 im (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))) (/.f64 -1/4 (*.f64 im (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))) 2)))))))) (log1p.f64 (log1p.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im))))))
(log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))
(log1p.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(log1p.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))
(fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (log1p.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (/.f64 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (log1p.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))
(fma.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) (/.f64 (fma.f64 2 (sqrt.f64 re) 1) (*.f64 im im)))) (log1p.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))))) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (log1p.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))) (+.f64 (/.f64 3/4 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))) (/.f64 3/4 (*.f64 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2)) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) 2))))))))
(fma.f64 1/4 (/.f64 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))))) (+.f64 (/.f64 3/4 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))) (/.f64 3/4 (*.f64 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2)) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 2)))))) (log1p.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))
(fma.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) (/.f64 (fma.f64 2 (sqrt.f64 re) 1) (*.f64 im im)))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 (fma.f64 -12 (*.f64 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (fma.f64 2 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (/.f64 (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (/.f64 (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 2)))) (log1p.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))
(+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 90 (/.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 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 2))))) (+.f64 (*.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 3))))) (+.f64 (*.f64 -15/2 (*.f64 (/.f64 (-.f64 (*.f64 -12 (*.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)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) (sqrt.f64 (/.f64 1 re)))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 360 (*.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))))) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (sqrt.f64 (/.f64 1 re)))) (*.f64 15/4 (*.f64 (/.f64 1 (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3))) (sqrt.f64 (/.f64 1 (pow.f64 re 9))))))))) (pow.f64 im 6))) (+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (pow.f64 im 2) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (+.f64 (log.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (*.f64 1/24 (*.f64 (-.f64 (*.f64 -12 (*.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)) (*.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))))) (*.f64 3/4 (/.f64 1 (*.f64 (pow.f64 (+.f64 1 (log.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) 2) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (pow.f64 re 3))))))) (pow.f64 im 4))))))
(fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 90 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 (*.f64 re re) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2)) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (fma.f64 15/4 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) 1) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) 3))) (fma.f64 -15/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (neg.f64 (/.f64 3/4 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2))))) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) 2)))) (fma.f64 360 (/.f64 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 2))))) (sqrt.f64 (/.f64 1 re))) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (*.f64 15/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (/.f64 (/.f64 1 (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 3))))))))) (+.f64 (fma.f64 1/4 (/.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))) (log1p.f64 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))))) (+.f64 (/.f64 3/4 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2) (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))))) (/.f64 3/4 (*.f64 (*.f64 (pow.f64 re 3) (pow.f64 (+.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))) 2)) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))) 2)))))))))
(fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 90 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (*.f64 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2) (*.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) (*.f64 re re)))) (fma.f64 15/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 3))) (fma.f64 -15/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 (fma.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (fma.f64 2 (sqrt.f64 re) 1))) (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2)))) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 2)))) (fma.f64 15/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (*.f64 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (*.f64 360 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (*.f64 re re)))) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))))))))) (fma.f64 1/4 (/.f64 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (-.f64 (*.f64 -12 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (/.f64 (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 2)) 2)) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))))) (+.f64 (/.f64 3/4 (*.f64 (pow.f64 re 3) (*.f64 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))) (/.f64 3/4 (*.f64 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2)) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 2)))))) (log1p.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))))
(fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 90 (/.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 re re) (*.f64 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))) (+.f64 (fma.f64 -15/2 (*.f64 (-.f64 (/.f64 (*.f64 -12 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (sqrt.f64 (/.f64 1 re)))) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2)) (/.f64 (/.f64 3/4 (pow.f64 re 3)) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3))) (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 2))) (/.f64 (*.f64 (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))) (*.f64 (sqrt.f64 (/.f64 1 re)) 360)) (*.f64 (fma.f64 2 (sqrt.f64 re) 1) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re))))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 9))) (+.f64 (/.f64 15/4 (*.f64 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (/.f64 (/.f64 15/4 (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 3)) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 3))))))) (fma.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) (/.f64 (fma.f64 2 (sqrt.f64 re) 1) (*.f64 im im)))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 (fma.f64 -12 (*.f64 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (fma.f64 2 (sqrt.f64 re) 1)) (/.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (/.f64 (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))) (/.f64 (/.f64 -3/4 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 2 (sqrt.f64 re) 1) 2))) (pow.f64 (+.f64 1 (log1p.f64 (*.f64 2 (sqrt.f64 re)))) 2)))) (log1p.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re)))))))

localize14.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize30.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
3.6b
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
Compiler

Compiled 37 to 31 computations (16.2% saved)

series3.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite81.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
794×pow1_binary64
747×add-log-exp_binary64
746×log1p-expm1-u_binary64
746×expm1-log1p-u_binary64
734×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

localize22.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 16 computations (48.4% saved)

series12.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

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

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
838×pow1_binary64
780×add-log-exp_binary64
779×log1p-expm1-u_binary64
779×expm1-log1p-u_binary64
762×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify110.0ms (1.2%)

Algorithm
egg-herbie
Rules
861×associate-/r*_binary64
706×associate-/r/_binary64
440×fma-def_binary64
336×unswap-sqr_binary64
331×distribute-lft-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
098626
1277626
2841594
33353570
46392570
57537570
Stop Event
node limit
Counts
52 → 65
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)))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))))
(sqrt.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (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 (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 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (/.f64 1/2 (sqrt.f64 -1)) (*.f64 (sqrt.f64 2) (*.f64 re (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 -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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (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 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 -1))) (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (*.f64 re (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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (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 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))) (fma.f64 1/16 (/.f64 (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (pow.f64 (sqrt.f64 -1) 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 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im))) (fma.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (*.f64 (sqrt.f64 2) (*.f64 re re)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))))
(fma.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (/.f64 (sqrt.f64 2) (pow.f64 (sqrt.f64 -1) 5))) (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 1/2 (*.f64 re (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) (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 -1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (fma.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (sqrt.f64 re)))
(*.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/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))))
(fma.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)))) (*.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 -1/8 (*.f64 (*.f64 im (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 im (+.f64 (*.f64 im (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/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)))))
(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 (*.f64 (sqrt.f64 2) (*.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 -1/8 (*.f64 (*.f64 im (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (+.f64 (*.f64 im (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 -1/2 (sqrt.f64 (/.f64 1 re)))))) (*.f64 (sqrt.f64 2) (fma.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 re))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 im (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 im))))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1)))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (*.f64 1/2 re) (sqrt.f64 -1))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (/.f64 re (sqrt.f64 -1)) (/.f64 re -1))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (*.f64 re re) (sqrt.f64 -1))))))
(fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (*.f64 (/.f64 re (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (/.f64 re -1) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 -1) 3))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (/.f64 re (sqrt.f64 -1)) (/.f64 re -1))) (fma.f64 (/.f64 (*.f64 1/16 (pow.f64 re 3)) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 im) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (*.f64 re re) (sqrt.f64 -1))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5)))))))
(+.f64 (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 -1) 5))) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 -1)) (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) (*.f64 (/.f64 re -1) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(sqrt.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (sqrt.f64 re))
(fma.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 re))
(fma.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (sqrt.f64 re))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (sqrt.f64 re)))
(fma.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 re)))
(fma.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (sqrt.f64 re)))
(fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (sqrt.f64 re))))
(fma.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 re))))
(fma.f64 -1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (pow.f64 im 3) (sqrt.f64 re))))
(fma.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (pow.f64 im 3) (*.f64 -1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 re))))
(+.f64 (sqrt.f64 re) (*.f64 im (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 im (+.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/16 im)))))))

localize44.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
7.7b
(/.f64 (pow.f64 im 2) re)
17.4b
(sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
Compiler

Compiled 53 to 40 computations (24.5% saved)

series24.0ms (0.3%)

Counts
3 → 36
Calls

18 calls:

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

rewrite100.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
893×pow1_binary64
830×add-log-exp_binary64
829×log1p-expm1-u_binary64
829×expm1-log1p-u_binary64
812×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify99.0ms (1%)

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
148 → 102
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))

eval347.0ms (3.7%)

Compiler

Compiled 10902 to 8067 computations (26% saved)

prune83.0ms (0.9%)

Pruning

24 alts after pruning (16 fresh and 8 done)

PrunedKeptTotal
New40812420
Fresh347
Picked101
Done2810
Total41424438
Error
5.2b
Counts
438 → 24
Alt Table
Click to see full alt table
StatusErrorProgram
52.0b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 2 im) 3/2)))
53.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im (neg.f64 im)) re)))
51.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)))))
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
21.0b
(*.f64 1/2 (expm1.f64 (expm1.f64 (pow.f64 (pow.f64 (log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 3) 1/3))))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
15.0b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (*.f64 im (*.f64 im (/.f64 1 re)))))))
18.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
60.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))))))
18.6b
(*.f64 1/2 (expm1.f64 (expm1.f64 (log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))))
46.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 2 im) 1/4) 2))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
51.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
46.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
48.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (*.f64 re 2)))))
46.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
48.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (*.f64 (/.f64 im (/.f64 re im)) 1)))))
46.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
47.9b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
14.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 531 to 431 computations (18.8% saved)

localize23.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2)
0.4b
(cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
0.7b
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 52 to 24 computations (53.8% saved)

series44.0ms (0.5%)

Counts
2 → 16
Calls

12 calls:

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

rewrite91.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
506×prod-diff_binary64
436×log-prod_binary64
330×exp-prod_binary64
269×pow-prod-down_binary64
257×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify114.0ms (1.2%)

Algorithm
egg-herbie
Rules
964×fma-def_binary64
430×distribute-lft-in_binary64
430×distribute-rgt-in_binary64
394×associate-/r*_binary64
242×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02051380
16101295
221841171
373231169
Stop Event
node limit
Counts
84 → 98
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2))
(+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re)))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))))
(*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) (pow.f64 im 6)) (cbrt.f64 2)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))))) (+.f64 (*.f64 2/27 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)) (*.f64 -2 (/.f64 (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))) im))))) (+.f64 (*.f64 3/8 (*.f64 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9))) (*.f64 1/48 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)))) (pow.f64 re 3))) (sqrt.f64 im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (sqrt.f64 re)))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/3072 (/.f64 1 (pow.f64 re 6))) (+.f64 (*.f64 1/480 (+.f64 (*.f64 10/9 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 9) (pow.f64 re 6)))) (+.f64 (*.f64 20/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 6))))) (*.f64 120 (/.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) re))))) (*.f64 1/128 (/.f64 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 re))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (sqrt.f64 re))))))
Outputs
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2))
(*.f64 (cbrt.f64 im) (cbrt.f64 2))
(+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))
(fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re))))
(fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (cbrt.f64 2) re)))))
(*.f64 (cbrt.f64 2) (+.f64 (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18))) re) (cbrt.f64 im)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (cbrt.f64 2) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 re re)))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re)))))
(fma.f64 1/3 (*.f64 (*.f64 (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 1 (*.f64 im im)))) (*.f64 re re)) (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (cbrt.f64 2) re))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 2) (*.f64 re (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)))) (*.f64 (cbrt.f64 2) (+.f64 (cbrt.f64 im) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 im im)))) (*.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) (*.f64 re re))))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (fma.f64 1/27 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)))))))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (cbrt.f64 2) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 re re)))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (fma.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))) (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27))))) (fma.f64 1/3 (*.f64 (*.f64 (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 1 (*.f64 im im)))) (*.f64 re re)) (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (cbrt.f64 2) re)))))))
(+.f64 (*.f64 (cbrt.f64 2) (+.f64 (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18))) re) (cbrt.f64 im))) (*.f64 (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (*.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) (*.f64 re re)) 1/3) (*.f64 (*.f64 (pow.f64 re 3) (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27))) -1/3))))
(*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2))
(*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2)))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2)))))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) (pow.f64 im 6)) (cbrt.f64 2)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 re re))) (/.f64 (-.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 1/216 (*.f64 (pow.f64 re 5) (pow.f64 (cbrt.f64 2) 6)))) (/.f64 (cbrt.f64 2) (pow.f64 im 6)))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (/.f64 (*.f64 (+.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 -1/864 (pow.f64 re 5))) (cbrt.f64 (/.f64 (/.f64 1 re) re))) (/.f64 (cbrt.f64 2) (pow.f64 im 6))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (*.f64 (/.f64 (cbrt.f64 (/.f64 (/.f64 1 re) re)) (cbrt.f64 2)) (*.f64 (+.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 -1/864 (pow.f64 re 5))) (pow.f64 im 6))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1 (pow.f64 (/.f64 1 im) 1/18))))))
(fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (pow.f64 (/.f64 1 im) 1/18)) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (pow.f64 (/.f64 1 im) 1/18)) 1/2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18))))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (*.f64 3/4 (fma.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (*.f64 2/3 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) im))))))) (sqrt.f64 im) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1 (pow.f64 (/.f64 1 im) 1/18)))))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (pow.f64 (/.f64 1 im) 1/18))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 im) (*.f64 re (*.f64 re (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/12) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) im))))))) (sqrt.f64 im))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 re (pow.f64 (/.f64 1 im) 1/18)) 1/2) (fma.f64 (+.f64 (*.f64 1/2 (/.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) im)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) 1/24)) (*.f64 (*.f64 re re) (sqrt.f64 im)) (sqrt.f64 im))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))))) (+.f64 (*.f64 2/27 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)) (*.f64 -2 (/.f64 (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))) im))))) (+.f64 (*.f64 3/8 (*.f64 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9))) (*.f64 1/48 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)))) (pow.f64 re 3))) (sqrt.f64 im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (fma.f64 1/4 (fma.f64 -2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18))) (fma.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 -2 (/.f64 (fma.f64 1/27 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))))) im)))) (fma.f64 3/8 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) (fma.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (*.f64 2/3 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) im)))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/48))))) (sqrt.f64 im) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (*.f64 3/4 (fma.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (*.f64 2/3 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) im))))))) (sqrt.f64 im) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1 (pow.f64 (/.f64 1 im) 1/18))))))))
(+.f64 (fma.f64 1/2 (*.f64 (*.f64 re (sqrt.f64 2)) (pow.f64 (/.f64 1 im) 1/18)) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 2) (fma.f64 1/4 (fma.f64 -2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18))) (fma.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 -2 (/.f64 (fma.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))) (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27)) im)))) (fma.f64 3/8 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) (fma.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/9 (/.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) 2/3) im))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/48))))) (*.f64 (*.f64 re re) (*.f64 (sqrt.f64 2) (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/12) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) im)))))))))
(fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 im) (+.f64 (*.f64 (pow.f64 re 3) (fma.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) (*.f64 (fma.f64 2/3 (/.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) im) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/9)) 3/8) (fma.f64 1/4 (fma.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) (fma.f64 (/.f64 -2 im) (fma.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27)) (*.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18)))))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/48)))) (*.f64 re (*.f64 re (+.f64 (*.f64 1/2 (/.f64 (fma.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3 (/.f64 1/2 im)) im)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) 1/24)))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (pow.f64 (/.f64 1 im) 1/18)) 1/2))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/128 (pow.f64 re 4)) (*.f64 1/16 (fma.f64 -1/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))) (neg.f64 (/.f64 2/3 (pow.f64 re 4)))))))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (*.f64 2 (pow.f64 im 4)) (fma.f64 1/16 (+.f64 (/.f64 -1/12 (pow.f64 re 4)) (/.f64 -2/3 (pow.f64 re 4))) (/.f64 1/128 (pow.f64 re 4)))) 2)))
(fma.f64 (sqrt.f64 re) (fma.f64 (*.f64 2 (pow.f64 im 4)) (+.f64 (+.f64 (/.f64 1/128 (pow.f64 re 4)) (/.f64 -1/192 (pow.f64 re 4))) (/.f64 -1/24 (pow.f64 re 4))) 2) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/3072 (/.f64 1 (pow.f64 re 6))) (+.f64 (*.f64 1/480 (+.f64 (*.f64 10/9 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 9) (pow.f64 re 6)))) (+.f64 (*.f64 20/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 6))))) (*.f64 120 (/.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) re))))) (*.f64 1/128 (/.f64 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 re))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (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 2 (+.f64 (*.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/3072 (pow.f64 re 6)) (fma.f64 1/480 (+.f64 (/.f64 10/9 (*.f64 (pow.f64 re 6) (pow.f64 (cbrt.f64 2) 9))) (fma.f64 20/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 6))) (*.f64 120 (/.f64 (-.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 1/216 (*.f64 (pow.f64 re 5) (pow.f64 (cbrt.f64 2) 6)))) re)))) (*.f64 1/128 (/.f64 (fma.f64 -1/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))) (neg.f64 (/.f64 2/3 (pow.f64 re 4)))) (*.f64 re re))))))) (*.f64 (sqrt.f64 re) (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/128 (pow.f64 re 4)) (*.f64 1/16 (fma.f64 -1/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))) (neg.f64 (/.f64 2/3 (pow.f64 re 4))))))))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/3072 (pow.f64 re 6)) (fma.f64 1/480 (+.f64 (/.f64 10/9 (*.f64 (pow.f64 re 6) (pow.f64 (cbrt.f64 2) 9))) (fma.f64 120 (/.f64 (+.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 -1/864 (pow.f64 re 5))) re) (/.f64 5/3 (pow.f64 re 6)))) (*.f64 1/128 (-.f64 (/.f64 (/.f64 -1/12 (pow.f64 re 4)) (*.f64 re re)) (/.f64 2/3 (pow.f64 re 6))))))) (*.f64 (pow.f64 im 4) (fma.f64 1/16 (+.f64 (/.f64 -1/12 (pow.f64 re 4)) (/.f64 -2/3 (pow.f64 re 4))) (/.f64 1/128 (pow.f64 re 4)))))))))
(fma.f64 2 (fma.f64 (sqrt.f64 re) (fma.f64 (pow.f64 im 6) (+.f64 (+.f64 (fma.f64 1/480 (/.f64 (+.f64 (/.f64 65/6 (pow.f64 re 5)) (/.f64 -5/36 (pow.f64 re 5))) re) (/.f64 1/288 (pow.f64 re 6))) (/.f64 1/432 (*.f64 (pow.f64 re 6) (pow.f64 (cbrt.f64 2) 9)))) (fma.f64 1/128 (+.f64 (/.f64 -1/12 (pow.f64 re 6)) (/.f64 -2/3 (pow.f64 re 6))) (/.f64 1/3072 (pow.f64 re 6)))) (*.f64 (pow.f64 im 4) (+.f64 (+.f64 (/.f64 1/128 (pow.f64 re 4)) (/.f64 -1/192 (pow.f64 re 4))) (/.f64 -1/24 (pow.f64 re 4))))) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(fma.f64 2 (fma.f64 (sqrt.f64 re) (fma.f64 (pow.f64 im 6) (+.f64 (fma.f64 1/480 (fma.f64 120 (-.f64 (/.f64 13/144 (pow.f64 re 6)) (/.f64 1/864 (pow.f64 re 6))) (/.f64 5/3 (pow.f64 re 6))) (/.f64 1/432 (*.f64 (pow.f64 re 6) (pow.f64 (cbrt.f64 2) 9)))) (fma.f64 1/128 (+.f64 (/.f64 -1/12 (pow.f64 re 6)) (/.f64 -2/3 (pow.f64 re 6))) (/.f64 1/3072 (pow.f64 re 6)))) (*.f64 (pow.f64 im 4) (+.f64 (+.f64 (/.f64 1/128 (pow.f64 re 4)) (/.f64 -1/192 (pow.f64 re 4))) (/.f64 -1/24 (pow.f64 re 4))))) (sqrt.f64 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))

localize23.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series7.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite66.0ms (0.7%)

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

simplify179.0ms (1.9%)

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

localize52.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 69 to 49 computations (29% saved)

series15.0ms (0.2%)

Counts
4 → 84
Calls

24 calls:

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

rewrite114.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary64
408×exp-prod_binary64
376×pow-unpow_binary64
317×pow-prod-down_binary64
255×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify146.0ms (1.5%)

Algorithm
egg-herbie
Rules
981×fma-def_binary64
505×distribute-rgt-neg-in_binary64
454×fma-neg_binary64
411×distribute-lft-neg-in_binary64
261×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016656
134656
278656
3177656
4439656
51434656
63135656
75361656
87073656
Stop Event
node limit
Counts
237 → 124
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 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im 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))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (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 im (*.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (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 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (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 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (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 (sqrt.f64 (/.f64 1 re)) (neg.f64 (*.f64 (sqrt.f64 -1) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1) (neg.f64 im)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 im (*.f64 (sqrt.f64 -1) (neg.f64 (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 (sqrt.f64 -1))))
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.f64 im re)
(/.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 (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))
(/.f64 (neg.f64 (*.f64 im im)) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 (/.f64 im re) (neg.f64 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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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))

localize38.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (*.f64 2 (-.f64 re im)) 3/2)
9.0b
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)
Compiler

Compiled 43 to 27 computations (37.2% saved)

series54.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
14.0ms
im
@inf
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)
9.0ms
re
@inf
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)
6.0ms
re
@0
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)
6.0ms
re
@-inf
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)
6.0ms
im
@-inf
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)

rewrite87.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
443×log-prod_binary64
359×prod-diff_binary64
326×exp-prod_binary64
266×pow2_binary64
254×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify150.0ms (1.6%)

Algorithm
egg-herbie
Rules
438×cancel-sign-sub-inv_binary64
428×associate-*r*_binary64
409×distribute-rgt-neg-in_binary64
347×associate-*l*_binary64
328×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04345070
113964377
252393922
Stop Event
node limit
Counts
109 → 155
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2)) 1/3) (*.f64 (*.f64 re (sqrt.f64 -8)) (pow.f64 im 1/6))))))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2)) 1/3) (*.f64 (*.f64 re (sqrt.f64 -8)) (pow.f64 im 1/6))))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 -2)) 1/3) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) im)))))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -2) 5) im)) 1/3) (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 -2)) 1/3) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (sqrt.f64 -8)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -8) 3) (pow.f64 (sqrt.f64 -2) 2)) (sqrt.f64 im))))) (pow.f64 re 3)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) im))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2)) 1/3) (*.f64 (*.f64 re (sqrt.f64 -8)) (pow.f64 im 1/6))))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 -2)) 1/3) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) im))))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/9) (/.f64 im re))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/9) (/.f64 im re))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/9) (/.f64 im re))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 17)) 1/9) (pow.f64 im 2)))) im))) (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/3) (pow.f64 im 3))))) (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/9) (/.f64 im re))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/9) (/.f64 im re))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/9) (/.f64 im re))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/3) (pow.f64 im 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 17)) 1/9) (pow.f64 im 2)))) im)))) (pow.f64 re 3)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 2)) 1/3))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 1/6) (*.f64 (sqrt.f64 8) im))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 1/6) (*.f64 (sqrt.f64 8) im))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (pow.f64 im 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) re)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 1/6) (*.f64 (sqrt.f64 8) im))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 8))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (sqrt.f64 8)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 5) re)) 1/3))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 5) re)) 1/3) (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (sqrt.f64 8)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 re)))))) (pow.f64 im 3)) (*.f64 (pow.f64 (sqrt.f64 2) 2) re))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (pow.f64 im 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) re))))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3)
(+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/9) (/.f64 re im))))
(+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 2)) 1/3))) (+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/9) (/.f64 re im)))))
(+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 2)) 1/3))) (+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/9) (/.f64 re im))) (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (+.f64 (*.f64 9/8 (pow.f64 re 3)) (*.f64 -9/16 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 17)) 1/9) (pow.f64 re 2)))) re))) (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/3) (pow.f64 re 3))))) (pow.f64 im 3)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 2)) 1/3))))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/3) (pow.f64 re 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) re)))) (pow.f64 im 3)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))))
(*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8)) (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 -8)) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8)) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 -8)) (sqrt.f64 im))) (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8)) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 -8)) (sqrt.f64 im))) (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 im)))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 3)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 2)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) im) re)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) im) re)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (pow.f64 re 2))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) im) re)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3))))) (pow.f64 re 3))) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (pow.f64 re 2)))))
(*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8)) (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 8) im))))
(+.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 8) (pow.f64 im 2)))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8)) (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 8) im)))))
(+.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 8) (pow.f64 im 2)))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8)) (+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 8) im))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 8) (pow.f64 im 3)))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) re) im)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) re) im)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 re 3)) (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (*.f64 -9/16 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) re) im)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))))
Outputs
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (*.f64 -1/2 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2)) 1/3) (*.f64 (*.f64 re (sqrt.f64 -8)) (pow.f64 im 1/6))))))
(fma.f64 (sqrt.f64 -2) (sqrt.f64 im) (*.f64 -1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2))) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6))))))
(fma.f64 -1/2 (*.f64 (cbrt.f64 -1/2) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6)))) (*.f64 (sqrt.f64 -2) (sqrt.f64 im)))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2)) 1/3) (*.f64 (*.f64 re (sqrt.f64 -8)) (pow.f64 im 1/6))))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 -2)) 1/3) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) im)))))
(fma.f64 (sqrt.f64 -2) (sqrt.f64 im) (fma.f64 -1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2))) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6)))) (*.f64 1/3 (*.f64 (/.f64 (+.f64 (*.f64 (*.f64 3/8 (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 im))) (*.f64 -3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6))))) (pow.f64 (sqrt.f64 -2) 2)) (/.f64 (*.f64 re re) im)))))
(fma.f64 (sqrt.f64 -2) (sqrt.f64 im) (fma.f64 -1/2 (*.f64 (cbrt.f64 -1/2) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6)))) (*.f64 -1/6 (/.f64 (*.f64 (fma.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (*.f64 -8 (pow.f64 (pow.f64 im 5) 1/6))) -3/4)) (*.f64 re re)) im))))
(fma.f64 (sqrt.f64 -2) (sqrt.f64 im) (fma.f64 -1/2 (*.f64 (cbrt.f64 -1/2) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6)))) (*.f64 -1/6 (/.f64 (*.f64 (fma.f64 (sqrt.f64 -8) (*.f64 (sqrt.f64 (/.f64 1 im)) 3/8) (*.f64 3/4 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (pow.f64 (pow.f64 im 5) 1/6)) 8))) (*.f64 re re)) im))))
(+.f64 (*.f64 (sqrt.f64 -2) (sqrt.f64 im)) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 -2) 5) im)) 1/3) (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 -2)) 1/3) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (sqrt.f64 -8)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (sqrt.f64 -8) 3) (pow.f64 (sqrt.f64 -2) 2)) (sqrt.f64 im))))) (pow.f64 re 3)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) im))) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2)) 1/3) (*.f64 (*.f64 re (sqrt.f64 -8)) (pow.f64 im 1/6))))) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im)))) (*.f64 3/4 (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 -2)) 1/3) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6)))))) (pow.f64 re 2)) (*.f64 (pow.f64 (sqrt.f64 -2) 2) im))))))
(fma.f64 (sqrt.f64 -2) (sqrt.f64 im) (fma.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (*.f64 1/16 (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im (pow.f64 (sqrt.f64 -2) 5)))) (*.f64 (sqrt.f64 -8) (+.f64 (*.f64 (*.f64 3/8 (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 im))) (*.f64 -3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6))))))) (*.f64 -1/8 (/.f64 (*.f64 (pow.f64 (sqrt.f64 -8) 3) (sqrt.f64 im)) (pow.f64 (sqrt.f64 -2) 2))))) (pow.f64 (sqrt.f64 -2) 2)) (/.f64 (pow.f64 re 3) im)) (fma.f64 -1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 -2) 2))) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6)))) (*.f64 1/3 (*.f64 (/.f64 (+.f64 (*.f64 (*.f64 3/8 (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 im))) (*.f64 -3/4 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (*.f64 (pow.f64 (sqrt.f64 -8) 2) (pow.f64 (pow.f64 im 5) 1/6))))) (pow.f64 (sqrt.f64 -2) 2)) (/.f64 (*.f64 re re) im))))))
(+.f64 (fma.f64 (sqrt.f64 -2) (sqrt.f64 im) (fma.f64 -1/2 (*.f64 (cbrt.f64 -1/2) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6)))) (*.f64 -1/6 (/.f64 (*.f64 (fma.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (*.f64 -8 (pow.f64 (pow.f64 im 5) 1/6))) -3/4)) (*.f64 re re)) im)))) (*.f64 -1/6 (/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 -8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/16)) (fma.f64 (neg.f64 (cbrt.f64 (/.f64 (/.f64 1 im) (pow.f64 (sqrt.f64 -2) 5)))) (*.f64 (sqrt.f64 -8) (fma.f64 3/8 (*.f64 (sqrt.f64 -8) (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (*.f64 -8 (pow.f64 (pow.f64 im 5) 1/6))) -3/4))) (*.f64 (/.f64 (sqrt.f64 -8) 1/4) (*.f64 (sqrt.f64 im) -1/8)))) (pow.f64 re 3)) im)))
(+.f64 (fma.f64 (sqrt.f64 -2) (sqrt.f64 im) (fma.f64 -1/2 (*.f64 (cbrt.f64 -1/2) (*.f64 re (*.f64 (sqrt.f64 -8) (pow.f64 im 1/6)))) (*.f64 -1/6 (/.f64 (*.f64 (fma.f64 (sqrt.f64 -8) (*.f64 (sqrt.f64 (/.f64 1 im)) 3/8) (*.f64 3/4 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (pow.f64 (pow.f64 im 5) 1/6)) 8))) (*.f64 re re)) im)))) (*.f64 -1/6 (/.f64 (*.f64 (+.f64 (fma.f64 (sqrt.f64 -8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) 1/16) (*.f64 (fma.f64 (sqrt.f64 -8) (*.f64 (sqrt.f64 (/.f64 1 im)) 3/8) (*.f64 3/4 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 -2))) (pow.f64 (pow.f64 im 5) 1/6)) 8))) (*.f64 (sqrt.f64 -8) (cbrt.f64 (/.f64 (/.f64 1 im) (pow.f64 (sqrt.f64 -2) 5)))))) (*.f64 (sqrt.f64 im) (*.f64 (/.f64 (sqrt.f64 -8) 1/4) 1/8))) (pow.f64 re 3)) im)))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/9) (/.f64 im re))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 7) 1/18)) (/.f64 im re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re)))))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 7) 1/18)) (/.f64 im re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re)))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 7) 1/18)) (/.f64 im re)) (cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/9) (/.f64 im re))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3)))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 7) 1/18)) (/.f64 im re)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 2))) (/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 (*.f64 im im) 3/8)) (*.f64 -3/4 (*.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 17) 1/18))))) (*.f64 re re))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 7) 1/18)) (/.f64 im re)) (fma.f64 1/3 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 2))) re) (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) (*.f64 im (*.f64 im 3/8)) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 17) 1/18) (*.f64 im im))))) re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 7) 1/18)) (/.f64 im re)) (fma.f64 1/3 (*.f64 (/.f64 (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 2))) re) (/.f64 (fma.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) (*.f64 im (*.f64 im 3/8)) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 17) 1/18) (*.f64 im im))))) re)) (cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/9) (/.f64 im re))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 17)) 1/9) (pow.f64 im 2)))) im))) (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 7)) 1/3) (pow.f64 im 3))))) (pow.f64 re 3)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) 1/3))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 7) 1/18)) (/.f64 im re)) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 2))) (/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 (*.f64 im im) 3/8)) (*.f64 -3/4 (*.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 17) 1/18))))) (*.f64 re re))) (fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 2))) (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) -17/16))) (fma.f64 -1 (*.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 4) 1/18)) (+.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 (*.f64 im im) 3/8)) (*.f64 -3/4 (*.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 17) 1/18)))))) im) (*.f64 -1/8 (*.f64 (pow.f64 im 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) 7))))))) (pow.f64 re 3)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re)))))))))
(+.f64 (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 2)))) (+.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) (*.f64 im (*.f64 im 3/8)) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 17) 1/18) (*.f64 im im))))) (*.f64 re re)) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) (*.f64 (pow.f64 im 3) 1/16)) (-.f64 (*.f64 (pow.f64 im 3) (*.f64 -1/8 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 7)))) (*.f64 im (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 4) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 4) 1/18) (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) (*.f64 im (*.f64 im 3/8)) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 17) 1/18) (*.f64 im im)))))))))) (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) 7) 1/18)) (/.f64 im re)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))))
(+.f64 (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 2)))) (+.f64 (/.f64 (fma.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) (*.f64 im (*.f64 im 3/8)) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 17) 1/18) (*.f64 im im))))) (*.f64 re re)) (/.f64 (+.f64 (fma.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) (*.f64 (pow.f64 im 3) 1/16) (*.f64 im (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 4) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 4) 1/18) (fma.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) (*.f64 im (*.f64 im 3/8)) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 17) 1/18) (*.f64 im im))))))))) (*.f64 (pow.f64 im 3) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 7)) 1/8))) (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) 7) 1/18)) (/.f64 im re)) (cbrt.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/9) (/.f64 im re))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3))
(fma.f64 -1/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 7) 1/18))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))))
(fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 7) 1/18) (/.f64 im re))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re))))))
(fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 7) 1/18) (/.f64 im re))) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/9) (/.f64 im re))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3)))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 2))) (/.f64 (+.f64 (*.f64 (*.f64 (*.f64 im im) 3/8) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))) (*.f64 -3/4 (*.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 17) 1/18))))) (*.f64 re re))) (fma.f64 -1/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 7) 1/18))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 2))) (/.f64 (fma.f64 (*.f64 im (*.f64 im 3/8)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) (*.f64 -3/4 (*.f64 (*.f64 im (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 17) 1/18)) (*.f64 im (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 17) 1/18))))) (*.f64 re re))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 7) 1/18) (/.f64 im re))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 2))) (/.f64 (fma.f64 (*.f64 im im) (*.f64 3/8 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))) (*.f64 -3/4 (*.f64 (*.f64 im (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 17) 1/18)) (*.f64 im (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 17) 1/18))))) (*.f64 re re))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 7) 1/18) (/.f64 im re))) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 17)) 1/9) (pow.f64 im 2)))) (pow.f64 re 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/9) (/.f64 im re))) (+.f64 (*.f64 -1/3 (*.f64 (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 7)) 1/3) (pow.f64 im 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 17)) 1/9) (pow.f64 im 2)))) im)))) (pow.f64 re 3)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 2)) 1/3))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) 1/3))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 2))) (/.f64 (+.f64 (*.f64 (*.f64 (*.f64 im im) 3/8) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))) (*.f64 -3/4 (*.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 17) 1/18))))) (*.f64 re re))) (fma.f64 -1/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 7) 1/18))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) (fma.f64 -9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 17/16))) (fma.f64 1/8 (*.f64 (pow.f64 im 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 7))) (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 4) 1/18)) (*.f64 im (+.f64 (*.f64 (*.f64 (*.f64 im im) 3/8) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))) (*.f64 -3/4 (*.f64 (*.f64 im im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) 17) 1/18))))))))) (pow.f64 re 3))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 2))) (/.f64 (fma.f64 (*.f64 im (*.f64 im 3/8)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) (*.f64 -3/4 (*.f64 (*.f64 im (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 17) 1/18)) (*.f64 im (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 17) 1/18))))) (*.f64 re re))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 7) 1/18) (/.f64 im re))) (fma.f64 -1/3 (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) (*.f64 (pow.f64 im 3) -1/16)) (fma.f64 1/8 (*.f64 (pow.f64 im 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 7))) (*.f64 im (*.f64 (fma.f64 (*.f64 im (*.f64 im 3/8)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) (*.f64 -3/4 (*.f64 (*.f64 im (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 17) 1/18)) (*.f64 im (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 17) 1/18))))) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 4) 1/18)))))) (/.f64 (pow.f64 re 3) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) 2))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 2))) (/.f64 (fma.f64 (*.f64 im im) (*.f64 3/8 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))) (*.f64 -3/4 (*.f64 (*.f64 im (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 17) 1/18)) (*.f64 im (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 17) 1/18))))) (*.f64 re re))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 7) 1/18) (/.f64 im re))) (fma.f64 -1/3 (/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) (*.f64 (pow.f64 im 3) -1/16)) (fma.f64 1/8 (*.f64 (pow.f64 im 3) (cbrt.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 7))) (*.f64 im (*.f64 (fma.f64 (*.f64 im im) (*.f64 3/8 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))) (*.f64 -3/4 (*.f64 (*.f64 im (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 17) 1/18)) (*.f64 im (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 17) 1/18))))) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 4) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 4) 1/18)))))) (/.f64 (pow.f64 re 3) (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) 2))))) (cbrt.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 1/6) (*.f64 (sqrt.f64 8) im))))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(fma.f64 -1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2))) (*.f64 (pow.f64 re 1/6) (*.f64 im (sqrt.f64 8)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(fma.f64 -1/2 (*.f64 (cbrt.f64 1/2) (*.f64 im (*.f64 (pow.f64 re 1/6) (sqrt.f64 8)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 1/6) (*.f64 (sqrt.f64 8) im))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (pow.f64 im 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) re)))))
(fma.f64 -1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2))) (*.f64 (pow.f64 re 1/6) (*.f64 im (sqrt.f64 8)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 3/4 (cbrt.f64 (/.f64 1 (sqrt.f64 2)))) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))) (pow.f64 (sqrt.f64 2) 2)) (/.f64 (*.f64 im im) re)))))
(fma.f64 -1/2 (*.f64 (cbrt.f64 1/2) (*.f64 im (*.f64 (pow.f64 re 1/6) (sqrt.f64 8)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/6 (/.f64 (*.f64 im (*.f64 im (fma.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 re 5) 1/6) 8)) (cbrt.f64 (/.f64 1 (sqrt.f64 2))))))) re))))
(fma.f64 -1/2 (*.f64 (cbrt.f64 1/2) (*.f64 im (*.f64 (pow.f64 re 1/6) (sqrt.f64 8)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/6 (/.f64 (*.f64 im (*.f64 im (fma.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (pow.f64 (pow.f64 re 5) 1/6) 8) (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) -3/4))))) re))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 re 1/6) (*.f64 (sqrt.f64 8) im))))) (+.f64 (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 8))) (+.f64 (*.f64 -1/3 (*.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (sqrt.f64 8)) (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 5) re)) 1/3))) (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 (pow.f64 (sqrt.f64 2) 5) re)) 1/3) (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (sqrt.f64 8)))) (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (sqrt.f64 2) 2)) (sqrt.f64 re)))))) (pow.f64 im 3)) (*.f64 (pow.f64 (sqrt.f64 2) 2) re))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/3 (/.f64 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (sqrt.f64 8))) (*.f64 3/4 (*.f64 (pow.f64 (/.f64 1 (sqrt.f64 2)) 1/3) (*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))))) (pow.f64 im 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) re))))))
(fma.f64 -1/2 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 2))) (*.f64 (pow.f64 re 1/6) (*.f64 im (sqrt.f64 8)))) (fma.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 1/16 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 -1/3 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 3/4 (cbrt.f64 (/.f64 1 (sqrt.f64 2)))) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))) (*.f64 (sqrt.f64 8) (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 5)) re)))) (fma.f64 -2/3 (*.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 3/4 (cbrt.f64 (/.f64 1 (sqrt.f64 2)))) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))) (*.f64 (sqrt.f64 8) (cbrt.f64 (/.f64 (/.f64 1 (pow.f64 (sqrt.f64 2) 5)) re)))) (*.f64 -1/8 (*.f64 (sqrt.f64 re) (/.f64 (pow.f64 (sqrt.f64 8) 3) (pow.f64 (sqrt.f64 2) 2))))))) (pow.f64 (sqrt.f64 2) 2)) (/.f64 (pow.f64 im 3) re)) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (*.f64 (*.f64 3/4 (cbrt.f64 (/.f64 1 (sqrt.f64 2)))) (*.f64 (pow.f64 (pow.f64 re 5) 1/6) (pow.f64 (sqrt.f64 8) 2)))) (pow.f64 (sqrt.f64 2) 2)) (/.f64 (*.f64 im im) re))))))
(+.f64 (fma.f64 -1/2 (*.f64 (cbrt.f64 1/2) (*.f64 im (*.f64 (pow.f64 re 1/6) (sqrt.f64 8)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/6 (/.f64 (*.f64 im (*.f64 im (fma.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 re 5) 1/6) 8)) (cbrt.f64 (/.f64 1 (sqrt.f64 2))))))) re)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 im 3) (-.f64 (*.f64 (sqrt.f64 8) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (/.f64 (sqrt.f64 8) 1/4) (*.f64 (sqrt.f64 re) -1/8)) (*.f64 (*.f64 (sqrt.f64 8) (*.f64 (fma.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 re 5) 1/6) 8)) (cbrt.f64 (/.f64 1 (sqrt.f64 2))))) (cbrt.f64 (/.f64 (/.f64 1 re) (pow.f64 (sqrt.f64 2) 5))))) -1)))) re)))
(+.f64 (fma.f64 -1/2 (*.f64 (cbrt.f64 1/2) (*.f64 im (*.f64 (pow.f64 re 1/6) (sqrt.f64 8)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/6 (/.f64 (*.f64 im (*.f64 im (fma.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (pow.f64 (pow.f64 re 5) 1/6) 8) (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) -3/4))))) re)))) (*.f64 1/6 (/.f64 (*.f64 (pow.f64 im 3) (fma.f64 1/16 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (+.f64 (*.f64 (*.f64 (sqrt.f64 8) (*.f64 (fma.f64 3/8 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 (*.f64 (pow.f64 (pow.f64 re 5) 1/6) 8) (*.f64 (cbrt.f64 (/.f64 1 (sqrt.f64 2))) -3/4))) (cbrt.f64 (/.f64 (/.f64 1 re) (pow.f64 (sqrt.f64 2) 5))))) 1) (*.f64 (*.f64 (sqrt.f64 re) (/.f64 (sqrt.f64 8) 1/4)) 1/8)))) re)))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)))
(+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/9) (/.f64 re im))))
(+.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2)))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 7) 1/18)) (/.f64 re im))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im)))))
(fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2))))
(+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 2)) 1/3))) (+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3) (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/9) (/.f64 re im)))))
(fma.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) (*.f64 (*.f64 re re) 3/8)) (*.f64 (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 17) 1/18))) (*.f64 re re))) (*.f64 im im)) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 2)))) (+.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2)))) (*.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 7) 1/18)) (/.f64 re im)))))
(fma.f64 1/3 (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) (*.f64 3/8 (*.f64 re re)) (*.f64 (*.f64 (*.f64 re re) -3/4) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 17) 1/18)))) (/.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 2))))) (fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))))))
(fma.f64 1/3 (/.f64 (fma.f64 (*.f64 re re) (*.f64 3/8 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2))) (*.f64 (*.f64 re re) (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 17) 1/18)) -3/4))) (/.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 2))))) (fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 7) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 7) 1/18)) (/.f64 re im)) (cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)))))
(+.f64 (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 2)) 1/3))) (+.f64 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 1/3) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/9) (/.f64 re im))) (*.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (+.f64 (*.f64 9/8 (pow.f64 re 3)) (*.f64 -9/16 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 17)) 1/9) (pow.f64 re 2)))) re))) (*.f64 -1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 7)) 1/3) (pow.f64 re 3))))) (pow.f64 im 3)) (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) 2)) 1/3))))))
(fma.f64 1/3 (*.f64 (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) (*.f64 (*.f64 re re) 3/8)) (*.f64 (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 17) 1/18))) (*.f64 re re))) (*.f64 im im)) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 2)))) (+.f64 (cbrt.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2)))) (fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 7) 1/18)) (/.f64 re im)) (*.f64 (*.f64 1/3 (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) (fma.f64 -1/2 (pow.f64 re 3) (*.f64 (pow.f64 re 3) 9/16))) (fma.f64 -1 (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 4) 1/18)) (*.f64 re (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) (*.f64 (*.f64 re re) 3/8)) (*.f64 (*.f64 3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 17) 1/18))) (*.f64 re re))))) (*.f64 (*.f64 -1/8 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 7))) (pow.f64 re 3)))) (pow.f64 im 3))) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) 2)))))))
(+.f64 (fma.f64 1/3 (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) (*.f64 (pow.f64 re 3) 1/16)) (-.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 7)) (*.f64 (pow.f64 re 3) -1/8)) (*.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) (*.f64 3/8 (*.f64 re re)) (*.f64 (*.f64 (*.f64 re re) -3/4) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 17) 1/18)))) (*.f64 re (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 4) 1/18)))))) (/.f64 (pow.f64 im 3) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 2))))) (*.f64 (/.f64 re im) (*.f64 (*.f64 -1/2 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 7) 1/18)) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 7) 1/18)))) (fma.f64 1/3 (/.f64 (fma.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) (*.f64 3/8 (*.f64 re re)) (*.f64 (*.f64 (*.f64 re re) -3/4) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 17) 1/18)))) (/.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) 2))))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))))))
(+.f64 (fma.f64 1/3 (/.f64 (+.f64 (fma.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) (*.f64 (pow.f64 re 3) 1/16) (*.f64 (fma.f64 (*.f64 re re) (*.f64 3/8 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2))) (*.f64 (*.f64 re re) (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 17) 1/18)) -3/4))) (*.f64 re (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 4) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 4) 1/18))))) (*.f64 (pow.f64 re 3) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 7)) 1/8))) (/.f64 (pow.f64 im 3) (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 2))))) (*.f64 (/.f64 re im) (*.f64 (*.f64 -1/2 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 7) 1/18)) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 7) 1/18)))) (fma.f64 1/3 (/.f64 (fma.f64 (*.f64 re re) (*.f64 3/8 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2))) (*.f64 (*.f64 re re) (*.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 17) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 17) 1/18)) -3/4))) (/.f64 (*.f64 im im) (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) 2))))) (cbrt.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)))))
(pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)
(cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))
(cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))
(fma.f64 -1/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))))
(fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (/.f64 re im))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (/.f64 re im))) (cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3)))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (/.f64 (+.f64 (*.f64 (*.f64 (*.f64 re re) 3/8) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/4 (*.f64 (*.f64 re re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))) (/.f64 (fma.f64 (*.f64 3/8 (*.f64 re re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (*.f64 re re))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (/.f64 re im))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 2))) (/.f64 (fma.f64 (*.f64 re re) (*.f64 3/8 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (*.f64 re re))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (/.f64 re im))) (cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) (pow.f64 im 2)))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/9) (/.f64 re im))) (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 2)) 1/3) (/.f64 (-.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3))))) (+.f64 (*.f64 1/8 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 7)) 1/3) (pow.f64 re 3))) (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 4)) 1/9) (*.f64 (-.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (*.f64 3/4 (*.f64 (pow.f64 (*.f64 1 (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 17)) 1/9) (pow.f64 re 2)))) re)))) (pow.f64 im 3)))) (pow.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) 1/3))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (/.f64 (+.f64 (*.f64 (*.f64 (*.f64 re re) 3/8) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/4 (*.f64 (*.f64 re re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7) 1/18))) (fma.f64 -1/3 (/.f64 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 2))) (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 -9/8 (pow.f64 re 3) (*.f64 (pow.f64 re 3) 17/16))) (fma.f64 1/8 (*.f64 (pow.f64 re 3) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 7))) (*.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 4) 1/18)) (*.f64 re (+.f64 (*.f64 (*.f64 (*.f64 re re) 3/8) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/4 (*.f64 (*.f64 re re) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) 17) 1/18)))))))))) (pow.f64 im 3)) (cbrt.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))) (/.f64 (fma.f64 (*.f64 3/8 (*.f64 re re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (*.f64 re re))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7) 1/18) (/.f64 re im))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 2))) (/.f64 (-.f64 (*.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 (pow.f64 re 3) -1/16)) (fma.f64 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 4) 1/18) (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 4) 1/18)) (*.f64 re (fma.f64 (*.f64 3/8 (*.f64 re re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 17) 1/18) (*.f64 re re)))))) (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) 7)) (*.f64 (pow.f64 re 3) 1/8)))) (pow.f64 im 3))) (cbrt.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 2))) (/.f64 (fma.f64 (*.f64 re re) (*.f64 3/8 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (*.f64 re re))))) (*.f64 im im))) (fma.f64 -1/2 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7) 1/18) (/.f64 re im))) (fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 2))) (/.f64 (-.f64 (*.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (*.f64 (pow.f64 re 3) -1/16)) (fma.f64 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 4) 1/18) (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 4) 1/18)) (*.f64 re (fma.f64 (*.f64 re re) (*.f64 3/8 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 -3/4 (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (*.f64 (pow.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 17) 1/18) (*.f64 re re)))))) (*.f64 (cbrt.f64 (pow.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) 7)) (*.f64 (pow.f64 re 3) 1/8)))) (pow.f64 im 3))) (cbrt.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))))
(*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8))
(*.f64 (sqrt.f64 -8) (sqrt.f64 (pow.f64 im 3)))
(*.f64 (sqrt.f64 -8) (fabs.f64 (pow.f64 im 3/2)))
(*.f64 (sqrt.f64 -8) (pow.f64 im 3/2))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8)) (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 -8)) (sqrt.f64 im))))
(fma.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8) (*.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 -8)))))
(fma.f64 (sqrt.f64 -8) (fabs.f64 (pow.f64 im 3/2)) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 -3/2 re) (sqrt.f64 -8))))
(fma.f64 (sqrt.f64 -8) (pow.f64 im 3/2) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 -3/2 re) (sqrt.f64 -8))))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8)) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 -8)) (sqrt.f64 im))) (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 -8))) (*.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (*.f64 re re))) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (sqrt.f64 -8) (fabs.f64 (pow.f64 im 3/2)) (fma.f64 3/8 (*.f64 (sqrt.f64 -8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 -3/2 re) (sqrt.f64 -8)))))
(fma.f64 (sqrt.f64 -8) (pow.f64 im 3/2) (fma.f64 3/8 (*.f64 (sqrt.f64 -8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 -3/2 re) (sqrt.f64 -8)))))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8)) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 -8)) (sqrt.f64 im))) (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 -8)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 (sqrt.f64 (pow.f64 im 3)) (sqrt.f64 -8) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 -8) (pow.f64 re 3))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 -8))) (*.f64 (*.f64 3/8 (*.f64 (sqrt.f64 -8) (*.f64 re re))) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 (sqrt.f64 -8) (fabs.f64 (pow.f64 im 3/2)) (fma.f64 1/16 (*.f64 (sqrt.f64 -8) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 3/8 (*.f64 (sqrt.f64 -8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 -3/2 re) (sqrt.f64 -8))))))
(fma.f64 (sqrt.f64 -8) (pow.f64 im 3/2) (fma.f64 1/16 (*.f64 (sqrt.f64 -8) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 3/8 (*.f64 (sqrt.f64 -8) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 im) (*.f64 (*.f64 -3/2 re) (sqrt.f64 -8))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re)))
(*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im))))
(fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))
(fma.f64 -3/2 (/.f64 im (/.f64 re (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))) (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im)) (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re)))))))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) (fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))) (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) (*.f64 re re)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))))
(+.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) (fma.f64 -3/2 (/.f64 im (/.f64 re (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))) (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) (*.f64 re re)) (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 3)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 2)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im)) (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))))))) (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 re))))) (fma.f64 9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) -17/16))) (pow.f64 re 3)))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))) (fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re))))) (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) (*.f64 re re)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re)))))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/16) (pow.f64 re 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 re)))))
(+.f64 (+.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)) (fma.f64 -3/2 (/.f64 im (/.f64 re (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2)))) (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) (*.f64 re re)) (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2))))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) 1/16) (pow.f64 re 3)) (*.f64 (pow.f64 re 3/2) (pow.f64 2 3/2))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) im) re)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))))
(fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) (/.f64 re im)) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))))
(fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) re) im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))))
(fma.f64 -3/2 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) re) im) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) im) re)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (pow.f64 re 2))))
(+.f64 (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) (/.f64 re im)) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))) (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) re) im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re))))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) re) (/.f64 (*.f64 im (*.f64 im 3/8)) re)))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) re) im) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))) (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) (/.f64 (*.f64 re re) (*.f64 im (*.f64 im 3/8)))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) im) re)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3))))) (pow.f64 re 3))) (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 re))) (log.f64 -2))))) (pow.f64 re 2)))))
(+.f64 (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) (/.f64 re im)) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))) (fma.f64 -1 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2))) (/.f64 (pow.f64 re 3) (fma.f64 -9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 17/16)))) (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 re)) (log.f64 -2)))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) re) im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re))))) (-.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) re) (/.f64 (*.f64 im (*.f64 im 3/8)) re)) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) -1/16)))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) re) im) (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2))) (-.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) (/.f64 (*.f64 re re) (*.f64 im (*.f64 im 3/8)))) (*.f64 (/.f64 (*.f64 (pow.f64 (/.f64 -1 re) -3/2) (pow.f64 -2 3/2)) (pow.f64 re 3)) (*.f64 (pow.f64 im 3) -1/16))))
(*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 re 3)))
(*.f64 (sqrt.f64 8) (pow.f64 re 3/2))
(+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8)) (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 8) im))))
(fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8) (*.f64 -3/2 (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) im)))
(fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 re 3)) (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) (*.f64 im -3/2)))
(fma.f64 (sqrt.f64 8) (pow.f64 re 3/2) (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) (*.f64 im -3/2)))
(+.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 8) (pow.f64 im 2)))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8)) (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 8) im)))))
(fma.f64 3/8 (*.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 im im)) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8) (*.f64 -3/2 (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) im))))
(fma.f64 3/8 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 re 3)) (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) (*.f64 im -3/2))))
(fma.f64 3/8 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 8) (pow.f64 re 3/2) (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) (*.f64 im -3/2))))
(+.f64 (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 8) (pow.f64 im 2)))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8)) (+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 8) im))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 8) (pow.f64 im 3)))))))
(fma.f64 3/8 (*.f64 (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re))) (*.f64 im im)) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 8) (fma.f64 -3/2 (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) im) (*.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 im 3) (sqrt.f64 8))))))
(fma.f64 3/8 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 re 3)) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 3) (sqrt.f64 8))) (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) (*.f64 im -3/2)))))
(fma.f64 3/8 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 8) (pow.f64 re 3/2) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 3) (sqrt.f64 8))) (*.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 8)) (*.f64 im -3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2)))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im)))
(*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) re) im)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))))
(fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) (/.f64 im re)) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))))
(fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) im) re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))))
(fma.f64 -3/2 (*.f64 (/.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) im) re) (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) re) im)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))))
(+.f64 (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) (/.f64 im re)) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2)))) (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) im) re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) im) (/.f64 (*.f64 3/8 (*.f64 re re)) im)))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) im) re) (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) im) (/.f64 (*.f64 3/8 (*.f64 re re)) im)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 re 3)) (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (*.f64 -9/16 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2))))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))) re) im)) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 1 im))) (log.f64 -2)))))))
(+.f64 (+.f64 (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))) (/.f64 im re)) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2)))) (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2)))))) (/.f64 (fma.f64 9/8 (pow.f64 re 3) (*.f64 (pow.f64 re 3) -17/16)) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (neg.f64 (log.f64 im)) (log.f64 -2))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) im) re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im)))) (+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))) im) (/.f64 (*.f64 3/8 (*.f64 re re)) im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 1/16) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 im))))))
(+.f64 (*.f64 (/.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) im) (/.f64 (*.f64 3/8 (*.f64 re re)) im)) (+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)) im) re) (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 1/16) (pow.f64 im 3)) (*.f64 (pow.f64 im 3/2) (pow.f64 -2 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)))) (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))))
(+.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (*.f64 (/.f64 (*.f64 3/8 (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))
(+.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (/.f64 (*.f64 3/8 (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))) (pow.f64 im 3))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))))
(+.f64 (+.f64 (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))) (fma.f64 -1 (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 -9/8 (pow.f64 re 3) (*.f64 (pow.f64 re 3) 17/16))) (pow.f64 im 3)) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)))))
(+.f64 (*.f64 (/.f64 (*.f64 3/8 (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))) (+.f64 (*.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))) (-.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) -1/16) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))))))
(+.f64 (*.f64 (/.f64 (*.f64 3/8 (*.f64 re re)) (*.f64 im im)) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (+.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (/.f64 (*.f64 (pow.f64 re 3) 1/16) (/.f64 (pow.f64 im 3) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))))

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 im (/.f64 re im))
0.4b
(pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3)
17.4b
(sqrt.f64 (*.f64 2 (*.f64 -1/2 (pow.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) 3))))
28.2b
(cbrt.f64 (/.f64 im (/.f64 re im)))
Compiler

Compiled 80 to 37 computations (53.8% saved)

series13.0ms (0.1%)

Counts
4 → 36
Calls

24 calls:

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

rewrite84.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
574×log-prod_binary64
342×pow-unpow_binary64
311×pow-prod-down_binary64
274×pow2_binary64
192×expm1-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify204.0ms (2.2%)

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

Useful iterations: 0 (0.0ms)

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

eval940.0ms (10%)

Compiler

Compiled 17130 to 12840 computations (25% saved)

prune120.0ms (1.3%)

Pruning

29 alts after pruning (17 fresh and 12 done)

PrunedKeptTotal
New6739682
Fresh3811
Picked101
Done01212
Total67729706
Error
5.2b
Counts
706 → 29
Alt Table
Click to see full alt table
StatusErrorProgram
52.0b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 2 im) 3/2)))
53.3b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im (neg.f64 im)) re)))
46.9b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im 2)) 3/2))
51.3b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 (/.f64 im re) im) -1/2) 2)) 3/2))
48.1b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
21.0b
(*.f64 1/2 (expm1.f64 (expm1.f64 (pow.f64 (pow.f64 (log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 3) 1/3))))
15.0b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2))
51.2b
(*.f64 1/2 (*.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2))) (sqrt.f64 2)))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (*.f64 im (*.f64 im (/.f64 1 re)))))))
18.4b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3))
60.5b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
55.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (*.f64 (pow.f64 im 4) (/.f64 1/8 (pow.f64 re 3)))))))
18.6b
(*.f64 1/2 (expm1.f64 (expm1.f64 (log1p.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))))
46.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 2 im) 1/4) 2))
44.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
51.8b
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3))
51.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 im (/.f64 re im))))))
46.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
48.3b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (*.f64 re 2) 2)) 3/2))
48.6b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (neg.f64 im) 2)) 3/2))
44.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
46.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
54.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (*.f64 im (cbrt.f64 (pow.f64 (/.f64 im re) 3)))))))
46.5b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
48.5b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
46.8b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
47.9b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
14.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 363 to 299 computations (17.6% saved)

regimes274.0ms (2.9%)

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

8 calls:

78.0ms
re
29.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
28.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
27.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
26.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Results
ErrorSegmentsBranch
10.8b2re
14.3b1im
9.7b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
9.7b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
10.3b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
10.3b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
14.3b1(*.f64 im im)
14.3b1(*.f64 im im)
Compiler

Compiled 531 to 374 computations (29.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
2.1213888292472583e-154
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes370.0ms (3.9%)

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

4 calls:

205.0ms
re
56.0ms
(*.f64 im im)
54.0ms
(*.f64 im im)
45.0ms
im
Results
ErrorSegmentsBranch
24.6b7re
26.0b3im
33.2b8(*.f64 im im)
33.2b8(*.f64 im im)
Compiler

Compiled 225 to 166 computations (26.2% saved)

bsearch214.0ms (2.3%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
1.4260345569018081e-42
3.380074524944214e-32
28.0ms
6.49046548194197e-165
1.642605289247735e-160
24.0ms
1.0678207317802798e-290
5.722627398463391e-248
29.0ms
-1.0107562545884444e-163
-3.2245664208992216e-177
43.0ms
-2.8728581005727123e-42
-6.614381964677954e-43
65.0ms
-1.0687563440449907e+46
-6.481194909022882e+40
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes145.0ms (1.5%)

Counts
11 → 7
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 (*.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 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im (neg.f64 im)) re)))
(*.f64 1/2 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re))))
(*.f64 1/2 (-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Calls

4 calls:

51.0ms
re
34.0ms
(*.f64 im im)
32.0ms
(*.f64 im im)
25.0ms
im
Results
ErrorSegmentsBranch
24.6b7re
26.0b3im
33.2b8(*.f64 im im)
33.2b8(*.f64 im im)
Compiler

Compiled 104 to 73 computations (29.8% saved)

bsearch207.0ms (2.2%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
1.4260345569018081e-42
3.380074524944214e-32
23.0ms
6.49046548194197e-165
1.642605289247735e-160
25.0ms
1.0678207317802798e-290
5.722627398463391e-248
30.0ms
-1.0107562545884444e-163
-3.2245664208992216e-177
44.0ms
-2.8728581005727123e-42
-6.614381964677954e-43
57.0ms
-1.0687563440449907e+46
-6.481194909022882e+40
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes248.0ms (2.6%)

Counts
7 → 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 (*.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 (-.f64 re im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
Calls

4 calls:

82.0ms
re
81.0ms
(*.f64 im im)
62.0ms
(*.f64 im im)
21.0ms
im
Results
ErrorSegmentsBranch
30.5b7re
26.0b3im
34.6b6(*.f64 im im)
34.6b6(*.f64 im im)
Compiler

Compiled 67 to 49 computations (26.9% saved)

bsearch162.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
90.0ms
5.672680459658047e-237
2.7341399080775785e-233
72.0ms
-4.139751608874406e-35
-9.17392684563861e-37
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes188.0ms (2%)

Counts
6 → 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 (*.f64 im im) re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Calls

4 calls:

81.0ms
(*.f64 im im)
44.0ms
im
41.0ms
re
19.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
30.1b8re
26.4b3im
34.8b6(*.f64 im im)
34.8b6(*.f64 im im)
Compiler

Compiled 59 to 43 computations (27.1% saved)

bsearch168.0ms (1.8%)

Algorithm
binary-search
Steps
TimeLeftRight
76.0ms
2.1176896329220155e-111
5.39274841177595e-111
91.0ms
-4.139751608874406e-35
-9.17392684563861e-37
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes259.0ms (2.8%)

Counts
5 → 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 (*.f64 im im) re)))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Calls

4 calls:

157.0ms
im
53.0ms
(*.f64 im im)
32.0ms
re
16.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
30.9b7re
26.6b3im
34.9b6(*.f64 im im)
34.9b6(*.f64 im im)
Compiler

Compiled 51 to 37 computations (27.5% saved)

bsearch123.0ms (1.3%)

Algorithm
binary-search
Steps
TimeLeftRight
51.0ms
2.1176896329220155e-111
5.39274841177595e-111
72.0ms
-9.17392684563861e-37
-2.733159150673775e-37
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes26.0ms (0.3%)

Accuracy

Total -28.3b remaining (-81.6%)

Threshold costs -28.3b (-81.6%)

Counts
3 → 4
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 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Calls

2 calls:

12.0ms
im
12.0ms
re
Results
ErrorSegmentsBranch
34.7b4re
36.8b2im
Compiler

Compiled 26 to 20 computations (23.1% saved)

bsearch117.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
23.0ms
1.4260345569018081e-42
3.380074524944214e-32
36.0ms
3.379232149343838e-111
5.8760395294019225e-105
57.0ms
2.510919615468146e-193
5.862645556130126e-192
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify64.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
089473
1118467
2133467
3142467
4146467
5147467
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 (/.f64 im re) (neg.f64 im)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 im (/.f64 re im)))))) (if (<=.f64 re -18033222568624656/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 re 1919613998785063424/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 6894665617050337280/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 8951363991849716/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))) (if (<=.f64 re -18033222568624656/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 re 1919613998785063424/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 6894665617050337280/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 8951363991849716/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 im -1936081201444219/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 2599349610309715/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -1936081201444219/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 5734036979254595/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -5491797649676187/5986310706507378352962293074805895248510699696029696) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 5734036979254595/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 re 5159288443447669/20547405865423334012660116730000502599806014854778022888665159777612234977722971961381509907334329887605402222094446162941482157227280483840343026447858909570137592465345486711686186554235635614340989264592896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 4574948520451369/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 re 8951363991849716/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Outputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 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 (/.f64 im re) (neg.f64 im)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 im (/.f64 re im)))))) (if (<=.f64 re -18033222568624656/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 re 1919613998785063424/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 6894665617050337280/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 8951363991849716/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 im (/.f64 re im)))))) (if (<=.f64 re -1127076410539041/392318858461667547739736838950479151006397215279002157056) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 re 3749246091377077/351111940402796075728379920075981393284761128699669252487168127261196632432619068618571244770327218791250222421623815151677323767215657465806342637967722899175327916845440400930277772658683777577056802640791026892262013051450122815378736544025053197584668966180832613749896964723593195907881555331297312768) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 210408496614085/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 2237840997962429/1569275433846670190958947355801916604025588861116008628224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 -1/2 (/.f64 im (/.f64 re im)))))) (if (<=.f64 re -1127076410539041/392318858461667547739736838950479151006397215279002157056) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 re 3749246091377077/351111940402796075728379920075981393284761128699669252487168127261196632432619068618571244770327218791250222421623815151677323767215657465806342637967722899175327916845440400930277772658683777577056802640791026892262013051450122815378736544025053197584668966180832613749896964723593195907881555331297312768) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 210408496614085/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 2237840997962429/1569275433846670190958947355801916604025588861116008628224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))) (if (<=.f64 re -18033222568624656/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 re 1919613998785063424/179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 6894665617050337280/1062275985633534197379176413104937254659186235454063846398888276400807119721704485478325004530458571337778658972493002030693158675305414478819039957533174703887662541670786438063456256) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 8951363991849716/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))) (if (<=.f64 re -1127076410539041/392318858461667547739736838950479151006397215279002157056) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 re 3749246091377077/351111940402796075728379920075981393284761128699669252487168127261196632432619068618571244770327218791250222421623815151677323767215657465806342637967722899175327916845440400930277772658683777577056802640791026892262013051450122815378736544025053197584668966180832613749896964723593195907881555331297312768) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 210408496614085/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 2237840997962429/1569275433846670190958947355801916604025588861116008628224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 re -10687563440449907082889068842653830478487879680) (*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))) (if (<=.f64 re -1127076410539041/392318858461667547739736838950479151006397215279002157056) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -3276678761530149/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 re 3749246091377077/351111940402796075728379920075981393284761128699669252487168127261196632432619068618571244770327218791250222421623815151677323767215657465806342637967722899175327916845440400930277772658683777577056802640791026892262013051450122815378736544025053197584668966180832613749896964723593195907881555331297312768) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 210408496614085/32418090381882757488378186435087196492284736189394038281216072888208225089163344893747711319899248392876545989150787415487462117776654494592866209641515341305165482839074293153792) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 re 2237840997962429/1569275433846670190958947355801916604025588861116008628224) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))))))
(if (<=.f64 im -1936081201444219/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 2599349610309715/458222462695599379270700542938797415851547826754730440471063195236977024085646466549524548253194054006869752147503995521190349772113174027207120416665033273928205988927667393636268820183663660419920640131707923959614888857707801337845740593703588724736) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))
(if (<=.f64 im -1936081201444219/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im 5734036979254595/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -5491797649676187/5986310706507378352962293074805895248510699696029696) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im 5734036979254595/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -5491797649676187/5986310706507378352962293074805895248510699696029696) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 5734036979254595/2707685248164858261307045101702230179137145581421695874189921465443966120903931272499975005961073806735733604454495675614232576) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 re 5159288443447669/20547405865423334012660116730000502599806014854778022888665159777612234977722971961381509907334329887605402222094446162941482157227280483840343026447858909570137592465345486711686186554235635614340989264592896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 4574948520451369/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 re 8951363991849716/6277101735386680763835789423207666416102355444464034512896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))))
(if (<=.f64 re 5159288443447669/20547405865423334012660116730000502599806014854778022888665159777612234977722971961381509907334329887605402222094446162941482157227280483840343026447858909570137592465345486711686186554235635614340989264592896) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re 4574948520451369/1353842624082429130653522550851115089568572790710847937094960732721983060451965636249987502980536903367866802227247837807116288) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 re 2237840997962429/1569275433846670190958947355801916604025588861116008628224) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))))
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
Compiler

Compiled 326 to 254 computations (22.1% saved)

soundness179.0ms (1.9%)

Algorithm
egg-herbie
Rules
981×fma-def_binary64
505×distribute-rgt-neg-in_binary64
454×fma-neg_binary64
411×distribute-lft-neg-in_binary64
261×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
23415
33615
016656
134656
278656
3177656
4439656
51434656
63135656
75361656
87073656
01315
12515
23415
33615
Stop Event
saturated
node limit
saturated
Compiler

Compiled 133 to 94 computations (29.3% saved)

end158.0ms (1.7%)

Compiler

Compiled 312 to 225 computations (27.9% saved)

Profiling

Loading profile data...