Details

Time bar (total: 8.7s)

analyze255.0ms (2.9%)

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

Compiled 18 to 13 computations (27.8% saved)

sample1.5s (17.1%)

Results
827.0ms6414×body256valid
250.0ms663×body2048valid
245.0ms523×body4096valid
112.0ms410×body1024valid
48.0ms246×body512valid
Bogosity

preprocess14.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
15.7b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
15.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 12 to 9 computations (25% saved)

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 39 to 16 computations (59% saved)

series10.0ms (0.1%)

Counts
2 → 32
Calls

12 calls:

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

rewrite56.0ms (0.6%)

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

simplify69.0ms (0.8%)

Algorithm
egg-herbie
Rules
835×fma-def_binary64
462×fma-neg_binary64
455×times-frac_binary64
346×*-commutative_binary64
299×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02431951
16471768
220751600
376811600
Stop Event
node limit
Counts
87 → 145
Calls
Call 1
Inputs
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 -1 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(-.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) 1)
(-.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))))
(*.f64 (+.f64 re (hypot.f64 re im)) 1)
(*.f64 1 (+.f64 re (hypot.f64 re im)))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.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)))))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (/.f64 1 (-.f64 re (hypot.f64 re im))))
(/.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))))
(/.f64 1 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))))
(/.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))))
(/.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)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.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)))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (neg.f64 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(pow.f64 (+.f64 re (hypot.f64 re im)) 1)
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)
(sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))
(log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))
(expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))
(fma.f64 1 re (hypot.f64 re im))
(fma.f64 1 (hypot.f64 re im) re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(-.f64 (+.f64 1 (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 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.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))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.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))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.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))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
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 (*.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/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im re)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 re 2 (/.f64 (*.f64 1/2 (*.f64 im im)) re))
(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 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 re 2 (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (pow.f64 im 6) (/.f64 1/16 (pow.f64 re 5))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(/.f64 (*.f64 (*.f64 -1/2 im) im) re)
(*.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 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (/.f64 (*.f64 (*.f64 -1/2 im) im) re)))
(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 (pow.f64 im 6) (pow.f64 re 5)) -1/16 (/.f64 (*.f64 (*.f64 -1/2 im) im) re))))
(fma.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)) (fma.f64 (*.f64 (/.f64 im re) im) -1/2 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (*.f64 (/.f64 -1/16 (pow.f64 re 5)) (pow.f64 im 6)))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 re 2 (/.f64 (*.f64 1/2 (*.f64 im im)) re))
(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 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 re 2)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 2 re (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 re 2 (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (pow.f64 im 6) (/.f64 1/16 (pow.f64 re 5))))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(fma.f64 1/2 (/.f64 re (/.f64 im re)) (+.f64 im re))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re)))
(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/2 (/.f64 re (/.f64 im re)) (fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im re)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(-.f64 re im)
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(+.f64 re (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im)))
(-.f64 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 re) im)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(+.f64 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 (neg.f64 im)) (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 re))
(-.f64 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (fma.f64 (/.f64 re (/.f64 im re)) -1/2 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 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.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 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 (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 (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 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (*.f64 re re) (sqrt.f64 2)))) (*.f64 (*.f64 1/2 (sqrt.f64 2)) re)))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) -1/4)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 (/.f64 1 im))) (+.f64 (*.f64 (+.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 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(fma.f64 (+.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) (*.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 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 re 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 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (fma.f64 -1/2 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (*.f64 (pow.f64 im 6) (*.f64 1/2 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re))))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(-.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) 1)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(-.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))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(*.f64 (+.f64 re (hypot.f64 re im)) 1)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(*.f64 1 (+.f64 re (hypot.f64 re im)))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(*.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)))))
(/.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))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (/.f64 1 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.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))))
(*.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)))))
(/.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))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 1 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.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))))
(*.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)))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.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)))))
(*.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)))))
(/.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))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.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)))))
(*.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)))))
(/.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))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (neg.f64 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(pow.f64 (+.f64 re (hypot.f64 re im)) 1)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(fma.f64 1 re (hypot.f64 re im))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(fma.f64 1 (hypot.f64 re im) re)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) re)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(+.f64 (+.f64 1 (+.f64 re (hypot.f64 re im))) -1)
(+.f64 (+.f64 re (hypot.f64 re im)) 0)
(+.f64 re (hypot.f64 re im))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
(*.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))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.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))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.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))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(cbrt.f64 (pow.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))

eval58.0ms (0.7%)

Compiler

Compiled 3390 to 2333 computations (31.2% saved)

prune30.0ms (0.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1378145
Fresh000
Picked011
Done000
Total1379146
Error
6.3b
Counts
146 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
15.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2)))
45.9b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.3b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 (*.f64 -1/2 im) im) re))))
47.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
15.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
44.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) im) -1/2))))
50.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 184 to 149 computations (19% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
1.2b
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 42 to 17 computations (59.5% saved)

series3.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite45.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify45.0ms (0.5%)

Algorithm
egg-herbie
Rules
677×associate-*l*_binary64
667×associate-*r*_binary64
485×times-frac_binary64
362×fma-def_binary64
259×log-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0112733
1299650
21008569
35576551
Stop Event
node limit
Counts
22 → 47
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 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2)
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (+.f64 re (hypot.f64 re im)) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
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 1/2 (*.f64 (sqrt.f64 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/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 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)))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) (+.f64 (*.f64 (*.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 (*.f64 (sqrt.f64 2) (-.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 1/2 (*.f64 (sqrt.f64 2) re))))) (*.f64 -1/4 (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 (pow.f64 re 3) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (*.f64 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 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/4)) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 (sqrt.f64 2) 1/2) (+.f64 (*.f64 (*.f64 (/.f64 1 im) 1/4) (*.f64 re re)) re))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/4 (*.f64 (*.f64 (/.f64 1 im) 1/4) (pow.f64 re 3)))) (sqrt.f64 im))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1 (sqrt.f64 2)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(fma.f64 2 (sqrt.f64 re) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 -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 (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 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (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 1/4 (/.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (sqrt.f64 2))) 2)) (*.f64 re re))))))) (fma.f64 2 (sqrt.f64 re) (*.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(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)))) (fma.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (*.f64 2 (sqrt.f64 re))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (+.f64 re (hypot.f64 re im)) 3/2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (+.f64 re (hypot.f64 re im)) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (+.f64 re (hypot.f64 re im)) 3/2))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))

localize8.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize8.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 15 computations (34.8% saved)

series2.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite35.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
453×pow1_binary64
443×add-sqr-sqrt_binary64
432×*-un-lft-identity_binary64
423×add-log-exp_binary64
422×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068
11266
214926
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 2 (neg.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 *.f64 (sqrt.f64 (*.f64 2 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (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 (cbrt.f64 (*.f64 2 im)) (cbrt.f64 (sqrt.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 (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 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 (pow.f64 (*.f64 2 im) 3/2) 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 (pow.f64 (*.f64 2 im) 1/4) 2)))) (#(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))))))))

simplify40.0ms (0.5%)

Algorithm
egg-herbie
Rules
547×fma-neg_binary64
492×exp-sum_binary64
447×exp-prod_binary64
427×log-prod_binary64
321×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
053276
199234
2249192
3831192
42740192
56462192
Stop Event
node limit
Counts
22 → 26
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
(*.f64 (sqrt.f64 (*.f64 2 im)) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 im)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) (cbrt.f64 (*.f64 2 im)))
(*.f64 (cbrt.f64 (*.f64 2 im)) (cbrt.f64 (sqrt.f64 (*.f64 2 im))))
(*.f64 (pow.f64 (*.f64 2 im) 1/4) (pow.f64 (*.f64 2 im) 1/4))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 im im))) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 im)) 1/2))
(pow.f64 (*.f64 2 im) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 im)) 1)
(pow.f64 (pow.f64 (*.f64 2 im) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)
(pow.f64 (pow.f64 (*.f64 2 im) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 2 im)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))
(cbrt.f64 (pow.f64 (*.f64 2 im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (sqrt.f64 (*.f64 2 im)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 1 (sqrt.f64 (*.f64 2 im)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) (cbrt.f64 (*.f64 2 im)))
(*.f64 (cbrt.f64 (*.f64 2 im)) (cbrt.f64 (sqrt.f64 (*.f64 2 im))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) (cbrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 (*.f64 2 im) 1/4) (pow.f64 (*.f64 2 im) 1/4))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (*.f64 im 4)))) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 im)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 im im))) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 im)) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (*.f64 im 4)))) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(pow.f64 (*.f64 2 im) 1/2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (sqrt.f64 (*.f64 2 im)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (pow.f64 (*.f64 2 im) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 im) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (pow.f64 (*.f64 2 im) 1/4) 2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(fabs.f64 (sqrt.f64 (*.f64 2 im)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(cbrt.f64 (pow.f64 (*.f64 2 im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) -1)
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series5.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite43.0ms (0.5%)

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

simplify41.0ms (0.5%)

Algorithm
egg-herbie
Rules
671×associate-/r*_binary64
655×associate-*l/_binary64
588×associate-/r/_binary64
524×associate-*r/_binary64
295×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0117717
1275675
2820617
33358593
Stop Event
node limit
Counts
30 → 57
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 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 1)
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 re im))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (cbrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 1/4) (pow.f64 (*.f64 2 (-.f64 re im)) 1/4))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 re im) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 re im))))
(*.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))
(pow.f64 (*.f64 2 (-.f64 re im)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 3)
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(+.f64 (*.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 (*.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/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 1/2 (*.f64 (*.f64 (/.f64 re (sqrt.f64 -1)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 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 -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 (*.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 1/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im))) (*.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 (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 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 re 3))) (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 (/.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 1/2 (*.f64 (*.f64 re (/.f64 (sqrt.f64 2) (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 im))) (fma.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)))) (*.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 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 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) (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 (sqrt.f64 2) (*.f64 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) (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2))))
(+.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 (sqrt.f64 2) (*.f64 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 -1/8 (*.f64 (*.f64 im (*.f64 (sqrt.f64 2) im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 2) (*.f64 im (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8)) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2)))))
(*.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 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 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 (*.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 (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 (sqrt.f64 re) (*.f64 im (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8)))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im -1/2)) (*.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 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 re im))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (cbrt.f64 (*.f64 2 (-.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 re im))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 1/4) (pow.f64 (*.f64 2 (-.f64 re im)) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 re im) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 re im)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(*.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))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 re im) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 re im)))))
(pow.f64 (*.f64 2 (-.f64 re im)) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 re im)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 re im)))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))

localize19.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 53 to 36 computations (32.1% saved)

series13.0ms (0.1%)

Counts
3 → 48
Calls

18 calls:

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

rewrite61.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
637×log-prod_binary64
347×pow-prod-down_binary64
299×pow2_binary64
267×pow-unpow_binary64
211×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify57.0ms (0.7%)

Algorithm
egg-herbie
Rules
624×fma-def_binary64
424×unswap-sqr_binary64
378×distribute-rgt-in_binary64
370×times-frac_binary64
358×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02872185
17102121
223162083
Stop Event
node limit
Counts
162 → 185
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/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))
(+.f64 0 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))) 1)
(*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6))
(*.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6) (cbrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)))
(*.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4) (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4))
(/.f64 (sqrt.f64 (*.f64 -1 (*.f64 im im))) (sqrt.f64 re))
(pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/2)
(pow.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 2) 1/4)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 3) 1/6)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 3/2) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 3/2)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6) 3)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4) 2)
(fabs.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))
(cbrt.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))) 1))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))) 1) 1))
(+.f64 0 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 1)
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 -1/2 (*.f64 (*.f64 im im) (/.f64 1 re)))
(*.f64 im (*.f64 (*.f64 -1/2 im) (/.f64 1 re)))
(*.f64 (*.f64 -1/2 im) (/.f64 1 (/.f64 re im)))
(*.f64 (*.f64 -1/2 im) (*.f64 im (/.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (/.f64 1 re))
(*.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 1)
(*.f64 1 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
(*.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) (pow.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 2) (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (/.f64 1 re)))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (/.f64 1 re)))
(*.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 1 (neg.f64 re)))
(*.f64 (/.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (/.f64 im 1) (/.f64 (*.f64 -1/2 im) re))
(*.f64 (/.f64 (*.f64 -1/2 im) re) im)
(*.f64 (/.f64 (*.f64 -1/2 im) 1) (/.f64 im re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1) (/.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) re))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) 1) (/.f64 (*.f64 (sqrt.f64 -1/2) im) re))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 -1/2 im) (cbrt.f64 re)))
(*.f64 (/.f64 (*.f64 -1/2 im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (/.f64 (*.f64 -1/2 (*.f64 im im)) (cbrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 (sqrt.f64 -1/2) im) (cbrt.f64 re)))
(*.f64 (/.f64 -1/2 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 -1/2 im) (sqrt.f64 re)))
(*.f64 (/.f64 (*.f64 -1/2 im) (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 re -1/2) (/.f64 (*.f64 -1/2 (*.f64 im im)) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (sqrt.f64 re)) (/.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (sqrt.f64 re)))
(pow.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 1)
(pow.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 re -2)) 1/2)
(pow.f64 (pow.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 3)
(pow.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)) 2)
(pow.f64 (*.f64 -2 (/.f64 re (*.f64 im im))) -1)
(pow.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 -1/2) im) 6) (pow.f64 re 3)) 1/3)
(pow.f64 (/.f64 (*.f64 -2 (/.f64 re (*.f64 im im))) 1) -1)
(neg.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (neg.f64 re)))
(sqrt.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 re -2)))
(log.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
(cbrt.f64 (pow.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 -1/2) im) 6) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(log1p.f64 (expm1.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(exp.f64 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 3))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re))) 2))
(exp.f64 (*.f64 (log.f64 (*.f64 -2 (/.f64 re (*.f64 im im)))) -1))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 1) 1))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 1)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 1)
(pow.f64 (*.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4) 1/2)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 2)
(sqrt.f64 (*.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 1) 1))
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 -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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (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 -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 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (sqrt.f64 -1) (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))) -1/2))
(+.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(+.f64 0 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))) 1)
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1)
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 1 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6) (cbrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)) (sqrt.f64 2))
(*.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) (sqrt.f64 2))
(/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -1/2))))
(/.f64 (*.f64 im (sqrt.f64 -1/2)) (/.f64 (sqrt.f64 re) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) (sqrt.f64 2))
(/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -1/2))))
(/.f64 (*.f64 im (sqrt.f64 -1/2)) (/.f64 (sqrt.f64 re) (sqrt.f64 2)))
(*.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4) (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(/.f64 (sqrt.f64 (*.f64 -1 (*.f64 im im))) (sqrt.f64 re))
(/.f64 (sqrt.f64 (neg.f64 (*.f64 im im))) (sqrt.f64 re))
(/.f64 (sqrt.f64 (*.f64 im (neg.f64 im))) (sqrt.f64 re))
(pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/2)
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1)
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 2) 1/4)
(pow.f64 (pow.f64 (/.f64 (neg.f64 (*.f64 im im)) re) 2) 1/4)
(pow.f64 (pow.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 2) 1/4)
(pow.f64 (*.f64 (pow.f64 im 4) (pow.f64 re -2)) 1/4)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 3) 1/6)
(pow.f64 (pow.f64 (/.f64 (neg.f64 (*.f64 im im)) re) 3) 1/6)
(pow.f64 (pow.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 3) 1/6)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 3/2) 1/3)
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (cbrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 3/2)
(pow.f64 (cbrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)) 3/2)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))) 3/2)
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6) 3)
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4) 2)
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(fabs.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(cbrt.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 3/2))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))) 1))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))) 1/3))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6)) 3))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4)) 2))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1) 1/2))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 1))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))) 1) 1))
(sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(+.f64 0 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 1)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 -1/2 (*.f64 (*.f64 im im) (/.f64 1 re)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 im (*.f64 (*.f64 -1/2 im) (/.f64 1 re)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (*.f64 -1/2 im) (/.f64 1 (/.f64 re im)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (*.f64 -1/2 im) (*.f64 im (/.f64 1 re)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (/.f64 1 re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 1)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 1 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) (pow.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 2))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 2) (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (/.f64 1 re)))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (/.f64 1 re) (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (/.f64 (cbrt.f64 (*.f64 im (*.f64 im -1/2))) re))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)) (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)))
(pow.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 -1/2) (sqrt.f64 re)) im) 2)
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2)) 2)
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (/.f64 1 re)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (*.f64 1/2 (*.f64 im im)) (/.f64 1 (neg.f64 re)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (/.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (/.f64 im 1) (/.f64 (*.f64 -1/2 im) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (/.f64 (*.f64 -1/2 im) re) im)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (/.f64 (*.f64 -1/2 im) 1) (/.f64 im re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1) (/.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) re))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (/.f64 1 re) (cbrt.f64 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (/.f64 (cbrt.f64 (*.f64 im (*.f64 im -1/2))) re))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) 1) (/.f64 (*.f64 (sqrt.f64 -1/2) im) re))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (/.f64 (cbrt.f64 re) im)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (*.f64 (/.f64 im (cbrt.f64 re)) im))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 -1/2 im) (cbrt.f64 re)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (/.f64 (cbrt.f64 re) im)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (*.f64 (/.f64 im (cbrt.f64 re)) im))
(*.f64 (/.f64 (*.f64 -1/2 im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (/.f64 (cbrt.f64 re) im)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (*.f64 (/.f64 im (cbrt.f64 re)) im))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (/.f64 (*.f64 -1/2 (*.f64 im im)) (cbrt.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (/.f64 -1/2 (/.f64 (cbrt.f64 re) (*.f64 im im))))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (/.f64 (*.f64 im im) (/.f64 (cbrt.f64 re) -1/2)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (pow.f64 (cbrt.f64 re) 2)))
(/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (*.f64 im (*.f64 im (/.f64 -1/2 re))))))
(/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1/2 re)))))
(*.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 (sqrt.f64 -1/2) im) (cbrt.f64 re)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (/.f64 (cbrt.f64 re) im)))
(*.f64 (/.f64 -1/2 (pow.f64 (cbrt.f64 re) 2)) (*.f64 (/.f64 im (cbrt.f64 re)) im))
(*.f64 (/.f64 -1/2 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))
(pow.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 -1/2) (sqrt.f64 re)) im) 2)
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2)) 2)
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 (*.f64 -1/2 im) (sqrt.f64 re)))
(pow.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 -1/2) (sqrt.f64 re)) im) 2)
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2)) 2)
(*.f64 (/.f64 (*.f64 -1/2 im) (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(pow.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 -1/2) (sqrt.f64 re)) im) 2)
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2)) 2)
(*.f64 (pow.f64 re -1/2) (/.f64 (*.f64 -1/2 (*.f64 im im)) (sqrt.f64 re)))
(*.f64 (pow.f64 re -1/2) (/.f64 -1/2 (/.f64 (sqrt.f64 re) (*.f64 im im))))
(*.f64 (pow.f64 re -1/2) (*.f64 (*.f64 im im) (/.f64 -1/2 (sqrt.f64 re))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (sqrt.f64 re)) (/.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im im))) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (sqrt.f64 re)) (/.f64 (cbrt.f64 (*.f64 im (*.f64 im -1/2))) (sqrt.f64 re)))
(pow.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 1)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(pow.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 re -2)) 1/2)
(sqrt.f64 (*.f64 1/4 (*.f64 (pow.f64 im 4) (pow.f64 re -2))))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 re -2))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1/2 re)) 2))
(pow.f64 (pow.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 3) 1/3)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(pow.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 3)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(pow.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re)) 2)
(pow.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 -1/2) (sqrt.f64 re)) im) 2)
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2)) 2)
(pow.f64 (*.f64 -2 (/.f64 re (*.f64 im im))) -1)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(pow.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 -1/2) im) 6) (pow.f64 re 3)) 1/3)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im (sqrt.f64 -1/2)) 6) (pow.f64 re 3)))
(pow.f64 (/.f64 (*.f64 -2 (/.f64 re (*.f64 im im))) 1) -1)
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(neg.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (neg.f64 re)))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(sqrt.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 re -2)))
(sqrt.f64 (*.f64 1/4 (*.f64 (pow.f64 im 4) (pow.f64 re -2))))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/4 (pow.f64 re -2))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1/2 re)) 2))
(log.f64 (exp.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(cbrt.f64 (pow.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))) 3))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (sqrt.f64 -1/2) im) 6) (pow.f64 re 3)))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im (sqrt.f64 -1/2)) 6) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(log1p.f64 (expm1.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(exp.f64 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 1))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 1/3))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))) 3))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re))) 2))
(pow.f64 (/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im)) 2)
(pow.f64 (*.f64 (/.f64 (sqrt.f64 -1/2) (sqrt.f64 re)) im) 2)
(pow.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2)) 2)
(exp.f64 (*.f64 (log.f64 (*.f64 -2 (/.f64 re (*.f64 im im)))) -1))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im)))) 1) 1))
(*.f64 (*.f64 im -1/2) (/.f64 im re))
(*.f64 im (*.f64 im (/.f64 -1/2 re)))
(*.f64 (*.f64 im im) (/.f64 -1/2 re))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 1)
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 1)
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(pow.f64 (*.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4) 1/2)
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 3) 1/3)
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 3)
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 2)
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(sqrt.f64 (*.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/4))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)))))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2) 3))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 1))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 1/3))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 3))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2))) 2))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 1) 1))
(*.f64 1/2 (sqrt.f64 (/.f64 (neg.f64 (*.f64 im im)) re)))
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))

eval378.0ms (4.3%)

Compiler

Compiled 7827 to 5593 computations (28.5% saved)

prune210.0ms (2.4%)

Pruning

22 alts after pruning (18 fresh and 4 done)

PrunedKeptTotal
New38916405
Fresh123
Picked101
Done145
Total39222414
Error
6.3b
Counts
414 → 22
Alt Table
Click to see full alt table
StatusErrorProgram
54.5b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 3)
54.9b
(*.f64 1/2 (pow.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6) 3))
54.4b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))) 3/2))
47.5b
(*.f64 1/2 (pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
45.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
50.3b
(*.f64 1/2 (*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 2)))
47.3b
(*.f64 1/2 (*.f64 (cbrt.f64 (*.f64 2 im)) (cbrt.f64 (sqrt.f64 (*.f64 2 im)))))
45.9b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
47.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
15.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
44.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 -1/2 re)))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 -1/2 im) (/.f64 1 (/.f64 re im))))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 im (*.f64 im (/.f64 -1/2 re))))))
50.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
54.8b
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re) 1/6)) 3)))
48.4b
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
54.5b
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
Compiler

Compiled 481 to 390 computations (18.9% saved)

localize12.0ms (0.1%)

Compiler

Compiled 28 to 15 computations (46.4% saved)

localize6.0ms (0.1%)

Compiler

Compiled 17 to 11 computations (35.3% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 36 computations (32.1% saved)

series10.0ms (0.1%)

Counts
4 → 72
Calls

24 calls:

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

rewrite65.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
603×log-prod_binary64
446×exp-prod_binary64
362×pow-prod-down_binary64
296×pow-unpow_binary64
294×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify74.0ms (0.9%)

Algorithm
egg-herbie
Rules
780×fma-def_binary64
593×distribute-rgt-in_binary64
405×unswap-sqr_binary64
336×times-frac_binary64
316×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03132922
17262741
223322491
Stop Event
node limit
Counts
200 → 193
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/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 im re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))
(+.f64 0 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))) 1)
(*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1)
(*.f64 1 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6))
(*.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6) (cbrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4) (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4))
(*.f64 (sqrt.f64 (*.f64 2 im)) (sqrt.f64 (*.f64 im (/.f64 -1/2 re))))
(pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/2)
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1)
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 4) 4) 1/4)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3/2) 1/3)
(pow.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 3/2)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6) 3)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(fabs.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3/2))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(exp.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))) 1) 1))
(+.f64 0 (*.f64 im (/.f64 -1/2 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 -1/2 re)))) 1)
(/.f64 im (*.f64 re -2))
(/.f64 1 (/.f64 re (*.f64 im -1/2)))
(/.f64 (*.f64 im -1/2) re)
(/.f64 (neg.f64 (*.f64 im -1/2)) (neg.f64 re))
(/.f64 (/.f64 (*.f64 im -1/2) 1) re)
(/.f64 (/.f64 (*.f64 im -1/2) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (/.f64 (*.f64 im -1/2) (sqrt.f64 re)) (sqrt.f64 re))
(/.f64 (*.f64 1/2 im) (neg.f64 re))
(/.f64 (*.f64 im 1/2) (neg.f64 re))
(pow.f64 (*.f64 im (/.f64 -1/2 re)) 1)
(pow.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 -1/2 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 -1/2 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (/.f64 -1/2 re))))
(pow.f64 (/.f64 re (*.f64 im -1/2)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 -1/2 re)))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 -1/2 re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 -1/2 re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 -1/2 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 -1/2 re)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 -1/2 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))) 1) 1))
(+.f64 0 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1)
(/.f64 (*.f64 im im) (*.f64 re -2))
(/.f64 (*.f64 (*.f64 im -1/2) im) re)
(/.f64 (*.f64 im (*.f64 im -1/2)) re)
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(/.f64 (*.f64 (*.f64 im im) 1/2) (neg.f64 re))
(/.f64 (*.f64 (*.f64 im im) 1) (*.f64 re -2))
(pow.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 6) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3)
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) im) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 4))
(log.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1) 1))
(+.f64 0 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 1)
(pow.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) 1)
(pow.f64 (*.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4) 1/2)
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 3)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))))
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4))
(log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(exp.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 1) 1))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (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 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (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 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (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 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (neg.f64 (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 im re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) 1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) 1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) -1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) -1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) -1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))) -1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(+.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(+.f64 0 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))) 1)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(*.f64 1 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(*.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6) (cbrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(*.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4) (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(*.f64 (sqrt.f64 (*.f64 2 im)) (sqrt.f64 (*.f64 im (/.f64 -1/2 re))))
(*.f64 (sqrt.f64 (*.f64 im 2)) (sqrt.f64 (*.f64 im (/.f64 -1/2 re))))
(*.f64 (sqrt.f64 (*.f64 im 2)) (sqrt.f64 (/.f64 (*.f64 im -1/2) re)))
(*.f64 (sqrt.f64 (+.f64 im im)) (sqrt.f64 (/.f64 im (*.f64 re -2))))
(pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/2)
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1)
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(pow.f64 (exp.f64 1/2) (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 4) 4) 1/4)
(pow.f64 (*.f64 4 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 4)) 1/4)
(pow.f64 (pow.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 3) 1/6)
(pow.f64 (pow.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3/2) 1/3)
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 3/2)
(pow.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) 3/2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) 3/2)
(pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))) 3/2)
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6) 3)
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(pow.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4) 2)
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))))) (sqrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))))
(fabs.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(cbrt.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3/2))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(exp.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1/2))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))) 1))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3/2)) 1/3))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/6)) 3))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4)) 2))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1) 1/2))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1/2) 1))
(*.f64 (cbrt.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) (pow.f64 (*.f64 2 (*.f64 (/.f64 im re) (*.f64 im -1/2))) 1/6))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re))) (pow.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/6))
(sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))) 1) 1))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))
(+.f64 0 (*.f64 im (/.f64 -1/2 re)))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 -1/2 re)))) 1)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(/.f64 im (*.f64 re -2))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 1 (/.f64 re (*.f64 im -1/2)))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(/.f64 (*.f64 im -1/2) re)
(*.f64 im (/.f64 -1/2 re))
(/.f64 im (*.f64 re -2))
(/.f64 (neg.f64 (*.f64 im -1/2)) (neg.f64 re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(/.f64 (/.f64 (*.f64 im -1/2) 1) re)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(/.f64 (/.f64 (*.f64 im -1/2) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(/.f64 (/.f64 (*.f64 im -1/2) (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(/.f64 (*.f64 1/2 im) (neg.f64 re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(/.f64 (*.f64 im 1/2) (neg.f64 re))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (*.f64 im (/.f64 -1/2 re)) 1)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 2) 1/2)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 3) 1/3)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 -1/2 re))) 3)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 -1/2 re))) 2)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (/.f64 -1/2 re))))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (/.f64 re (*.f64 im -1/2)) -1)
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 im -1/2) re))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 im -1/2) re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (*.f64 re -2)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (*.f64 re -2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 -1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 im -1/2) re)))) (sqrt.f64 (log.f64 (/.f64 (*.f64 im -1/2) re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (*.f64 re -2))))) (sqrt.f64 (log.f64 (/.f64 im (*.f64 re -2)))))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 2))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 -1/2 re)))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 -1/2 re)))))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 -1/2 re)) 3))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 -1/2 re))))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 -1/2 re))))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(exp.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))) 1))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 -1/2 re)))) 1/3))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 -1/2 re)))) 3))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 -1/2 re)))) 2))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 -1/2 re))) 1) 1))
(*.f64 im (/.f64 -1/2 re))
(/.f64 (*.f64 im -1/2) re)
(/.f64 im (*.f64 re -2))
(+.f64 0 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(/.f64 (*.f64 im im) (*.f64 re -2))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(/.f64 (*.f64 (*.f64 im -1/2) im) re)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(/.f64 (*.f64 im (*.f64 im -1/2)) re)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(/.f64 (*.f64 (*.f64 im im) -1/2) re)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(/.f64 (*.f64 (*.f64 im im) 1/2) (neg.f64 re))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(/.f64 (*.f64 (*.f64 im im) 1) (*.f64 re -2))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 4) 1/2)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 6) 1/3)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 3)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 2)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) im) 2)
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (/.f64 im re) (*.f64 im -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (/.f64 im re) (*.f64 im -1/2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 im -1/2) re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 im -1/2) re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 im (*.f64 re -2))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 im (*.f64 re -2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (/.f64 im re) (*.f64 im -1/2))))) (sqrt.f64 (log.f64 (*.f64 (/.f64 im re) (*.f64 im -1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 im -1/2) re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 im -1/2) re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 im (*.f64 re -2)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 im (*.f64 re -2))))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 4))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(log.f64 (pow.f64 (exp.f64 (/.f64 -1/2 re)) (*.f64 im im)))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 6))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(exp.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 6)) 1/3))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 3))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 2))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1) 1))
(*.f64 (/.f64 im re) (*.f64 im -1/2))
(*.f64 im (/.f64 (*.f64 im -1/2) re))
(*.f64 im (/.f64 im (*.f64 re -2)))
(+.f64 0 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 1)
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(pow.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) 1)
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(pow.f64 (*.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4) 1/2)
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) (*.f64 im -1/2)) 1/4)))
(sqrt.f64 (*.f64 1/2 (*.f64 im (/.f64 (*.f64 im -1/2) re))))
(sqrt.f64 (*.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 1/4))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) 3) 1/3)
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 3)
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 2)
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2)))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2)))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2)))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2)))))))
(sqrt.f64 (*.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/4))
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 (/.f64 im re) (*.f64 im -1/2)) 1/4)))
(sqrt.f64 (*.f64 1/2 (*.f64 im (/.f64 (*.f64 im -1/2) re))))
(sqrt.f64 (*.f64 (/.f64 (*.f64 im im) (neg.f64 re)) 1/4))
(log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2) 3))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(exp.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 1))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 1/3))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 3))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2))) 2))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 1) 1))
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (*.f64 1/2 (sqrt.f64 2))))

localize11.0ms (0.1%)

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)

series6.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

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

rewrite49.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
828×pow1_binary64
771×add-log-exp_binary64
770×log1p-expm1-u_binary64
770×expm1-log1p-u_binary64
753×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
117115
2214215
Stop Event
node limit
Counts
2 → 38
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 (+.f64 re im) (-.f64 re im))) (sqrt.f64 (-.f64 re im)))))) (#(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 im re)))))))) (#(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 hypot.f64 (sqrt.f64 re) (sqrt.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x hypot.f64 (sqrt.f64 im) (sqrt.f64 re))))) (#(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))))))))

simplify47.0ms (0.5%)

Algorithm
egg-herbie
Rules
581×fma-def_binary64
536×associate-*r*_binary64
533×associate-*l*_binary64
355×log-prod_binary64
275×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01631059
1390965
21181837
34936801
Stop Event
node limit
Counts
54 → 114
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)))))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (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))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (sqrt.f64 re)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (sqrt.f64 re))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 re im) 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2)) 1)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))) 3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))) 2)
(pow.f64 (*.f64 (+.f64 re im) 2) 1/2)
(sqrt.f64 (*.f64 (+.f64 re im) 2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re im) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (+.f64 re im) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(-.f64 (+.f64 1 (sqrt.f64 (+.f64 re im))) 1)
(*.f64 (sqrt.f64 (+.f64 re im)) 1)
(*.f64 1 (sqrt.f64 (+.f64 re im)))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 re im))) (cbrt.f64 (+.f64 re im)))
(*.f64 (cbrt.f64 (+.f64 re im)) (cbrt.f64 (sqrt.f64 (+.f64 re im))))
(*.f64 (pow.f64 (+.f64 re im) 1/4) (pow.f64 (+.f64 re im) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 re im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 re im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 re im)) 1/2))
(/.f64 (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im))) (sqrt.f64 (-.f64 re im)))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 re 3) (pow.f64 im 3))) (sqrt.f64 (fma.f64 re re (*.f64 im (-.f64 im re)))))
(pow.f64 (+.f64 re im) 1/2)
(pow.f64 (sqrt.f64 (+.f64 re im)) 1)
(pow.f64 (pow.f64 (+.f64 re im) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 re im))) 3)
(pow.f64 (pow.f64 (+.f64 re im) 1/4) 2)
(fabs.f64 (sqrt.f64 (+.f64 re im)))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 re im))))
(cbrt.f64 (pow.f64 (+.f64 re im) 3/2))
(hypot.f64 (sqrt.f64 re) (sqrt.f64 im))
(hypot.f64 (sqrt.f64 im) (sqrt.f64 re))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 re im))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (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 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(*.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (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))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))))
(fma.f64 (sqrt.f64 2) (*.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))) (*.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re) (sqrt.f64 im))))
(*.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re (*.f64 re -1/8)) (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))))))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.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 (sqrt.f64 2) (*.f64 (*.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 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (*.f64 (sqrt.f64 2) (pow.f64 re 3)))))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (pow.f64 re 3)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))) (*.f64 (sqrt.f64 2) (fma.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (sqrt.f64 im))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (fma.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 re (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re -1/8)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))))
(*.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 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (sqrt.f64 2) (fma.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 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 (sqrt.f64 2) (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 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 im (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 im))))))
(*.f64 (sqrt.f64 2) (fma.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (sqrt.f64 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)))))))
(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 (sqrt.f64 2) (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (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 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/16) (sqrt.f64 re))) (*.f64 (sqrt.f64 2) (*.f64 im (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 im))))))
(*.f64 (sqrt.f64 2) (fma.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 im (*.f64 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)))))
(sqrt.f64 im)
(+.f64 (sqrt.f64 im) (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))))
(+.f64 (sqrt.f64 im) (*.f64 (*.f64 1/2 re) (sqrt.f64 (/.f64 1 im))))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im))
(fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re) (sqrt.f64 im))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (*.f64 (*.f64 -1/8 (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re (*.f64 re -1/8)) (fma.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re (*.f64 re -1/8)) (sqrt.f64 im)))
(+.f64 (sqrt.f64 im) (+.f64 (*.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (*.f64 -1/8 (*.f64 (pow.f64 re 2) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(+.f64 (sqrt.f64 im) (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (fma.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 (*.f64 -1/8 (*.f64 re re)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (fma.f64 1/2 (*.f64 re (sqrt.f64 (/.f64 1 im))) (sqrt.f64 im)) (fma.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 -1/8 (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))))))
(+.f64 (sqrt.f64 im) (fma.f64 -1/8 (*.f64 re (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 1/16 (pow.f64 re 3)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 re)))))
(+.f64 (sqrt.f64 im) (fma.f64 1/16 (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 re (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 re -1/8)) (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))))
(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))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (sqrt.f64 re)))
(fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))) (sqrt.f64 re)))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im (*.f64 im -1/8)) (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))) (fma.f64 -1/8 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (sqrt.f64 re)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 re)) im)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (sqrt.f64 re))))
(fma.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))) (fma.f64 1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 re))))
(fma.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im (*.f64 im -1/8)) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) 1/16) (sqrt.f64 re))))
(fma.f64 im (*.f64 1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 im (*.f64 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 (+.f64 1 (sqrt.f64 (*.f64 (+.f64 re im) 2))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2)) 3) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(pow.f64 (*.f64 (+.f64 re im) 2) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(sqrt.f64 (*.f64 (+.f64 re im) 2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2)) 3))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re im) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (pow.f64 (+.f64 im re) 3/2))))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (+.f64 im re) 3/2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (+.f64 re im) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (pow.f64 (+.f64 im re) 3/2))))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (+.f64 im re) 3/2))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re im) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 im re))) 0)
(sqrt.f64 (*.f64 2 (+.f64 im re)))
(-.f64 (+.f64 1 (sqrt.f64 (+.f64 re im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(*.f64 (sqrt.f64 (+.f64 re im)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(*.f64 1 (sqrt.f64 (+.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 re im))) (cbrt.f64 (+.f64 re im)))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 im re))) (cbrt.f64 (+.f64 im re)))
(*.f64 (cbrt.f64 (+.f64 re im)) (cbrt.f64 (sqrt.f64 (+.f64 re im))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 im re))) (cbrt.f64 (+.f64 im re)))
(*.f64 (pow.f64 (+.f64 re im) 1/4) (pow.f64 (+.f64 re im) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 re im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 im re))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 im re))) (sqrt.f64 (cbrt.f64 (+.f64 im re))))
(*.f64 (cbrt.f64 (+.f64 im re)) (sqrt.f64 (cbrt.f64 (+.f64 im re))))
(pow.f64 (cbrt.f64 (+.f64 im re)) 3/2)
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 re im)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 im re))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 im re))) (sqrt.f64 (cbrt.f64 (+.f64 im re))))
(*.f64 (cbrt.f64 (+.f64 im re)) (sqrt.f64 (cbrt.f64 (+.f64 im re))))
(pow.f64 (cbrt.f64 (+.f64 im re)) 3/2)
(/.f64 (sqrt.f64 (*.f64 (+.f64 re im) (-.f64 re im))) (sqrt.f64 (-.f64 re im)))
(/.f64 (sqrt.f64 (*.f64 (+.f64 im re) (-.f64 re im))) (sqrt.f64 (-.f64 re im)))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 re 3) (pow.f64 im 3))) (sqrt.f64 (fma.f64 re re (*.f64 im (-.f64 im re)))))
(/.f64 (sqrt.f64 (+.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 re re (*.f64 im (-.f64 im re)))))
(/.f64 (hypot.f64 (pow.f64 re 3/2) (pow.f64 im 3/2)) (sqrt.f64 (fma.f64 re re (*.f64 im (-.f64 im re)))))
(/.f64 (hypot.f64 (pow.f64 re 3/2) (pow.f64 im 3/2)) (sqrt.f64 (fma.f64 im (-.f64 im re) (*.f64 re re))))
(pow.f64 (+.f64 re im) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(pow.f64 (sqrt.f64 (+.f64 re im)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(pow.f64 (pow.f64 (+.f64 re im) 3/2) 1/3)
(cbrt.f64 (pow.f64 (+.f64 im re) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 re im))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(pow.f64 (pow.f64 (+.f64 re im) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(fabs.f64 (sqrt.f64 (+.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(cbrt.f64 (pow.f64 (+.f64 re im) 3/2))
(cbrt.f64 (pow.f64 (+.f64 im re) 3/2))
(hypot.f64 (sqrt.f64 re) (sqrt.f64 im))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(hypot.f64 (sqrt.f64 im) (sqrt.f64 re))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (+.f64 im re)) 1))
(+.f64 (sqrt.f64 (+.f64 im re)) 0)
(sqrt.f64 (+.f64 im re))

localize15.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (sqrt.f64 (*.f64 2 im)))
2.7b
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))
Compiler

Compiled 31 to 25 computations (19.4% saved)

series4.0ms (0%)

Counts
2 → 0
Calls

6 calls:

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

rewrite41.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
491×pow1_binary64
474×add-sqr-sqrt_binary64
465×*-un-lft-identity_binary64
454×add-log-exp_binary64
454×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
410×associate-+l+_binary64
408×log-prod_binary64
321×associate-*l/_binary64
309×associate-*l*_binary64
301×associate-*r/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
093611
1179484
2575435
33551421
Stop Event
node limit
Counts
47 → 55
Calls
Call 1
Inputs
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
(*.f64 (sqrt.f64 (*.f64 2 im)) 1)
(*.f64 1 (sqrt.f64 (*.f64 2 im)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) (cbrt.f64 (*.f64 2 im)))
(*.f64 (cbrt.f64 (*.f64 2 im)) (cbrt.f64 (sqrt.f64 (*.f64 2 im))))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 2 im) 1/4) (pow.f64 (*.f64 2 im) 1/4))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 im)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 im)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 im)) 1/2))
(pow.f64 (*.f64 2 im) 1/2)
(pow.f64 (sqrt.f64 (*.f64 2 im)) 1)
(pow.f64 (pow.f64 (*.f64 2 im) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)
(pow.f64 (pow.f64 (*.f64 2 im) 1/4) 2)
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 2 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(sqrt.f64 (*.f64 2 im))
(fabs.f64 (sqrt.f64 (*.f64 2 im)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))
(cbrt.f64 (pow.f64 (*.f64 2 im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 (log.f64 (pow.f64 (*.f64 2 im) 1/4)) (log.f64 (pow.f64 (*.f64 2 im) 1/4)))
(+.f64 (log.f64 (sqrt.f64 2)) (log.f64 (sqrt.f64 im)))
(+.f64 (log.f64 (cbrt.f64 (*.f64 2 im))) (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im)))))
(+.f64 0 (log.f64 (sqrt.f64 (*.f64 2 im))))
(-.f64 (+.f64 1 (log.f64 (sqrt.f64 (*.f64 2 im)))) 1)
(*.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 1)
(*.f64 1 (log.f64 (sqrt.f64 (*.f64 2 im))))
(*.f64 (log.f64 (*.f64 2 im)) 1/2)
(*.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(*.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(*.f64 1/2 (log.f64 (*.f64 2 im)))
(pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 1)
(pow.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 3) 1/3)
(pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 3)
(pow.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2)
(sqrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 2))
(cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 3))
(expm1.f64 (log1p.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(log1p.f64 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(exp.f64 (log.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
Outputs
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (sqrt.f64 (*.f64 2 im)) 1)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 1 (sqrt.f64 (*.f64 2 im)))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) (cbrt.f64 (*.f64 2 im)))
(*.f64 (cbrt.f64 (*.f64 2 im)) (cbrt.f64 (sqrt.f64 (*.f64 2 im))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) (cbrt.f64 (*.f64 2 im)))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 2 im) 1/4) (pow.f64 (*.f64 2 im) 1/4))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 im)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 im))) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (cbrt.f64 (*.f64 2 im)) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(pow.f64 (cbrt.f64 (*.f64 2 im)) 3/2)
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 im)))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 im)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 im)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 im)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 im))) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(*.f64 (cbrt.f64 (*.f64 2 im)) (sqrt.f64 (cbrt.f64 (*.f64 2 im))))
(pow.f64 (cbrt.f64 (*.f64 2 im)) 3/2)
(pow.f64 (*.f64 2 im) 1/2)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (sqrt.f64 (*.f64 2 im)) 1)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (pow.f64 (*.f64 2 im) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 im) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (pow.f64 (*.f64 2 im) 1/4) 2)
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 2 im))))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (*.f64 2 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(sqrt.f64 (*.f64 2 im))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(fabs.f64 (sqrt.f64 (*.f64 2 im)))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(cbrt.f64 (pow.f64 (*.f64 2 im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 1 (+.f64 (sqrt.f64 (*.f64 2 im)) -1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(+.f64 (log.f64 (pow.f64 (*.f64 2 im) 1/4)) (log.f64 (pow.f64 (*.f64 2 im) 1/4)))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(+.f64 (log.f64 (sqrt.f64 2)) (log.f64 (sqrt.f64 im)))
(+.f64 (log.f64 (cbrt.f64 (*.f64 2 im))) (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im)))))
(+.f64 0 (log.f64 (sqrt.f64 (*.f64 2 im))))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(-.f64 (+.f64 1 (log.f64 (sqrt.f64 (*.f64 2 im)))) 1)
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(*.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 1)
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(*.f64 1 (log.f64 (sqrt.f64 (*.f64 2 im))))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(*.f64 (log.f64 (*.f64 2 im)) 1/2)
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(*.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(*.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(*.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (log.f64 (*.f64 2 im)))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 1)
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(pow.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 3) 1/3)
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 3)
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(pow.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))) 2)
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(sqrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 2))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(cbrt.f64 (pow.f64 (log.f64 (sqrt.f64 (*.f64 2 im))) 3))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(expm1.f64 (log1p.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(log1p.f64 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))
(exp.f64 (log.f64 (log.f64 (sqrt.f64 (*.f64 2 im)))))
(*.f64 2 (*.f64 1/4 (log.f64 (*.f64 2 im))))
(log.f64 (sqrt.f64 (*.f64 2 im)))

eval126.0ms (1.4%)

Compiler

Compiled 6138 to 4739 computations (22.8% saved)

prune77.0ms (0.9%)

Pruning

25 alts after pruning (17 fresh and 8 done)

PrunedKeptTotal
New3548362
Fresh4913
Picked101
Done088
Total35925384
Error
0.0b
Counts
384 → 25
Alt Table
Click to see full alt table
StatusErrorProgram
53.1b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2)) 1/2)) 3)
54.5b
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 (*.f64 -1 (*.f64 im im)) re)) 1/2)) 3)
53.0b
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
53.0b
(*.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 2))) (sqrt.f64 (/.f64 -1/2 re)))
54.4b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))) 3/2))
47.4b
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 2 im)) 3/2))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
45.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
55.7b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 im im)) (sqrt.f64 (/.f64 im (*.f64 re -2)))))
50.3b
(*.f64 1/2 (*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 2)))
53.0b
(*.f64 1/2 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 2))))
45.9b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
54.4b
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) (neg.f64 re))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
47.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
15.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
44.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
54.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 -1/2 re)))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 -1/2 im) (/.f64 1 (/.f64 re im))))))
51.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 im (*.f64 im (/.f64 -1/2 re))))))
50.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
45.2b
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
48.4b
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 2 im)) 1/2)))
54.5b
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
Compiler

Compiled 514 to 419 computations (18.5% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

Compiled 53 to 41 computations (22.6% saved)

series16.0ms (0.2%)

Counts
4 → 48
Calls

21 calls:

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

rewrite65.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
564×log-prod_binary64
416×exp-prod_binary64
361×pow-prod-down_binary64
291×pow2_binary64
240×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify61.0ms (0.7%)

Algorithm
egg-herbie
Rules
853×fma-def_binary64
558×distribute-rgt-in_binary64
536×distribute-lft-in_binary64
259×log-prod_binary64
239×sqr-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03042592
16952449
222262434
Stop Event
node limit
Counts
172 → 172
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))
(+.f64 0 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 1)
(pow.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1)
(pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(fabs.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(fabs.f64 (*.f64 (neg.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(fabs.f64 (neg.f64 (*.f64 (neg.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(exp.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 1) 1))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 1)
(/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re))
(/.f64 (*.f64 im (sqrt.f64 -1/2)) (sqrt.f64 re))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 1)
(pow.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))) (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))))
(sqrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))
(fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(fabs.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 3))
(expm1.f64 (log1p.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(log1p.f64 (expm1.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(exp.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 1) 1))
(+.f64 0 (sqrt.f64 (/.f64 -1/2 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 -1/2 re)))) 1)
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) 1)
(*.f64 1 (sqrt.f64 (/.f64 -1/2 re)))
(*.f64 (cbrt.f64 (/.f64 -1/2 re)) (pow.f64 (/.f64 -1/2 re) 1/6))
(*.f64 (pow.f64 (/.f64 -1/2 re) 1/6) (cbrt.f64 (/.f64 -1/2 re)))
(*.f64 (pow.f64 (/.f64 -1/2 re) 1/4) (pow.f64 (/.f64 -1/2 re) 1/4))
(*.f64 (sqrt.f64 -1/2) (pow.f64 re -1/2))
(/.f64 1 (sqrt.f64 (*.f64 re -2)))
(/.f64 1 (/.f64 (sqrt.f64 re) (sqrt.f64 -1/2)))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 -1/2) (sqrt.f64 re))
(/.f64 (neg.f64 (sqrt.f64 -1/2)) (neg.f64 (sqrt.f64 re)))
(pow.f64 (/.f64 -1/2 re) 1/2)
(pow.f64 (sqrt.f64 (/.f64 -1/2 re)) 1)
(pow.f64 (exp.f64 1/2) (log.f64 (/.f64 -1/2 re)))
(pow.f64 (*.f64 1/4 (pow.f64 re -2)) 1/4)
(pow.f64 (pow.f64 (/.f64 -1/2 re) 3) 1/6)
(pow.f64 (pow.f64 (/.f64 -1/2 re) 3/2) 1/3)
(pow.f64 (cbrt.f64 (/.f64 -1/2 re)) 3/2)
(pow.f64 (pow.f64 (/.f64 -1/2 re) 1/6) 3)
(pow.f64 (pow.f64 (/.f64 -1/2 re) 1/4) 2)
(pow.f64 (*.f64 re -2) -1/2)
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 -1/2 re))))
(pow.f64 (sqrt.f64 (*.f64 re -2)) -1)
(pow.f64 (/.f64 (sqrt.f64 re) (sqrt.f64 -1/2)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re)))))
(fabs.f64 (sqrt.f64 (/.f64 -1/2 re)))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 -1/2 re)))))
(cbrt.f64 (pow.f64 (/.f64 -1/2 re) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 -1/2 re))))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 -1/2 re))))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))))
(exp.f64 (*.f64 (log.f64 (/.f64 -1/2 re)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 -1/2 re) 3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 -1/2 re) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 -1/2 re) 1/4)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 -1/2 re)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 -1/2 re)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))) 1) 1))
(+.f64 0 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 1)
(pow.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) 1)
(pow.f64 (*.f64 1/4 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1/2)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 3)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))))
(sqrt.f64 (*.f64 1/4 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(exp.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 1) 1))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -1/2) im))
(*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 -1)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 -1)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 -1)))))))
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 (sqrt.f64 -1) im))) (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 -1))) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (fabs.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 -1)))))))
(+.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 0 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 1)
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1)
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(pow.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))) 1/2)
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 3) 1/3)
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 3)
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 2)
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re)))))
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(sqrt.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)))
(fabs.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(fabs.f64 (*.f64 (neg.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(fabs.f64 (neg.f64 (*.f64 (neg.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 3))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(exp.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 1))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 1/3))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 3))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 2))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))) 1) 1))
(*.f64 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))) 1)
(*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))
(/.f64 (*.f64 im (sqrt.f64 -1)) (sqrt.f64 re))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 1)
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(/.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 re))
(/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im))
(*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2))
(/.f64 (*.f64 im (sqrt.f64 -1/2)) (sqrt.f64 re))
(/.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 re) im))
(*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 -1/2))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(pow.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1/2)
(sqrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))
(sqrt.f64 (*.f64 im (*.f64 im (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 3) 1/3)
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 3)
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(pow.f64 (sqrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 2)
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))) (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))))
(sqrt.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))
(sqrt.f64 (*.f64 im (*.f64 im (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 -1/2 (/.f64 re (*.f64 im im))))
(fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(fabs.f64 (neg.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) 3))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(expm1.f64 (log1p.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(log1p.f64 (expm1.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(exp.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 1))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 1/3))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 3))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))) 2))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) 1) 1))
(*.f64 im (sqrt.f64 (/.f64 -1/2 re)))
(+.f64 0 (sqrt.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 -1/2 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (/.f64 -1/2 re)))) 1)
(sqrt.f64 (/.f64 -1/2 re))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) 1)
(sqrt.f64 (/.f64 -1/2 re))
(*.f64 1 (sqrt.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 -1/2 re))
(*.f64 (cbrt.f64 (/.f64 -1/2 re)) (pow.f64 (/.f64 -1/2 re) 1/6))
(sqrt.f64 (/.f64 -1/2 re))
(*.f64 (pow.f64 (/.f64 -1/2 re) 1/6) (cbrt.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 -1/2 re))
(*.f64 (pow.f64 (/.f64 -1/2 re) 1/4) (pow.f64 (/.f64 -1/2 re) 1/4))
(sqrt.f64 (/.f64 -1/2 re))
(*.f64 (sqrt.f64 -1/2) (pow.f64 re -1/2))
(/.f64 1 (sqrt.f64 (*.f64 re -2)))
(/.f64 1 (/.f64 (sqrt.f64 re) (sqrt.f64 -1/2)))
(*.f64 (/.f64 1 (sqrt.f64 re)) (sqrt.f64 -1/2))
(/.f64 (*.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 re))
(/.f64 (sqrt.f64 -1/2) (sqrt.f64 re))
(/.f64 (sqrt.f64 1/2) (sqrt.f64 (neg.f64 re)))
(/.f64 (sqrt.f64 -1/2) (sqrt.f64 re))
(*.f64 (/.f64 1 (sqrt.f64 re)) (sqrt.f64 -1/2))
(/.f64 (*.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 re))
(/.f64 (neg.f64 (sqrt.f64 -1/2)) (neg.f64 (sqrt.f64 re)))
(*.f64 (/.f64 1 (sqrt.f64 re)) (sqrt.f64 -1/2))
(/.f64 (*.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 re))
(/.f64 (sqrt.f64 -1/2) (sqrt.f64 re))
(pow.f64 (/.f64 -1/2 re) 1/2)
(sqrt.f64 (/.f64 -1/2 re))
(pow.f64 (sqrt.f64 (/.f64 -1/2 re)) 1)
(sqrt.f64 (/.f64 -1/2 re))
(pow.f64 (exp.f64 1/2) (log.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 -1/2 re))
(pow.f64 (*.f64 1/4 (pow.f64 re -2)) 1/4)
(pow.f64 (pow.f64 (/.f64 -1/2 re) 3) 1/6)
(pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 1/6)
(pow.f64 (pow.f64 (/.f64 -1/2 re) 3/2) 1/3)
(sqrt.f64 (/.f64 -1/2 re))
(pow.f64 (cbrt.f64 (/.f64 -1/2 re)) 3/2)
(pow.f64 (pow.f64 (/.f64 -1/2 re) 1/6) 3)
(sqrt.f64 (/.f64 -1/2 re))
(pow.f64 (pow.f64 (/.f64 -1/2 re) 1/4) 2)
(sqrt.f64 (/.f64 -1/2 re))
(pow.f64 (*.f64 re -2) -1/2)
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 -1/2 re))
(pow.f64 (sqrt.f64 (*.f64 re -2)) -1)
(/.f64 1 (sqrt.f64 (*.f64 re -2)))
(pow.f64 (/.f64 (sqrt.f64 re) (sqrt.f64 -1/2)) -1)
(*.f64 (/.f64 1 (sqrt.f64 re)) (sqrt.f64 -1/2))
(/.f64 (*.f64 1 (sqrt.f64 -1/2)) (sqrt.f64 re))
(/.f64 (sqrt.f64 -1/2) (sqrt.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))))) (sqrt.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re)))))
(fabs.f64 (sqrt.f64 (/.f64 -1/2 re)))
(sqrt.f64 (/.f64 -1/2 re))
(log.f64 (exp.f64 (sqrt.f64 (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 -1/2 re))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (/.f64 -1/2 re)))))
(sqrt.f64 (/.f64 -1/2 re))
(cbrt.f64 (pow.f64 (/.f64 -1/2 re) 3/2))
(sqrt.f64 (/.f64 -1/2 re))
(expm1.f64 (log1p.f64 (sqrt.f64 (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 -1/2 re))
(log1p.f64 (expm1.f64 (sqrt.f64 (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (/.f64 -1/2 re)) 1/2))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))) 1))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 -1/2 re) 3/2)) 1/3))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 -1/2 re) 1/6)) 3))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (/.f64 -1/2 re) 1/4)) 2))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 -1/2 re)) 1) 1/2))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (/.f64 -1/2 re)) 1/2) 1))
(sqrt.f64 (/.f64 -1/2 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 -1/2 re))) 1) 1))
(sqrt.f64 (/.f64 -1/2 re))
(+.f64 0 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 1)
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(pow.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) 1)
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(pow.f64 (*.f64 1/4 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))) 1/2)
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(sqrt.f64 (*.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/4))
(sqrt.f64 (*.f64 (/.f64 -1 re) (*.f64 (*.f64 im im) 1/4)))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) 3) 1/3)
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 3)
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 2)
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))) 2)) (cbrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))))) (sqrt.f64 (log.f64 (*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re))))))
(sqrt.f64 (*.f64 1/4 (*.f64 2 (*.f64 (/.f64 -1/2 re) (*.f64 im im)))))
(sqrt.f64 (*.f64 1/2 (*.f64 (/.f64 -1/2 re) (*.f64 im im))))
(sqrt.f64 (*.f64 (*.f64 (*.f64 im im) (/.f64 -1 re)) 1/4))
(sqrt.f64 (*.f64 (/.f64 -1 re) (*.f64 (*.f64 im im) 1/4)))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re)))))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 (sqrt.f64 -1) (sqrt.f64 re)))))
(*.f64 (/.f64 (sqrt.f64 -1) (*.f64 2 (sqrt.f64 re))) im)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2) 3))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(exp.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 1))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 1/3))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 3))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2))) 2))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 (pow.f64 -1 1/2) (sqrt.f64 re))) 1/2)) 1) 1))
(*.f64 1/2 (*.f64 im (/.f64 (sqrt.f64 -1) (sqrt.f64 re))))
(*.f64 im (/.f64 (*.f64 (sqrt.f64 -1) 1/2) (sqrt.f64 re)))

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(/.f64 -1/4 (/.f64 re (*.f64 im im)))
8.1b
(/.f64 re (*.f64 im im))
20.5b
(sqrt.f64 (/.f64 -1/4 (/.f64 re (*.f64 im im))))
Compiler

Compiled 28 to 10 computations (64.3% saved)

series9.0ms (0.1%)

Counts
3 → 60
Calls

18 calls:

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

rewrite55.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
896×pow1_binary64
841×add-log-exp_binary64
841×log1p-expm1-u_binary64
841×expm1-log1p-u_binary64
821×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify49.0ms (0.6%)

Algorithm
egg-herbie
Rules
642×times-frac_binary64
528×associate-/r*_binary64
441×associate-*l/_binary64
372×associate-*r/_binary64
344×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02091743
15141649
219761589
Stop Event
node limit
Counts
154 → 130
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (pow.f64 im 2))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) 1)
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 1)
(*.f64 1 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (sqrt.f64 -1/4) (pow.f64 (/.f64 (*.f64 im im) re) 1/2))
(*.f64 (sqrt.f64 -1/4) (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)))))
(*.f64 (pow.f64 1 1/2) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 1/2))
(*.f64 (pow.f64 (/.f64 -1/4 re) 1/2) im)
(/.f64 1 (sqrt.f64 (*.f64 (/.f64 re (*.f64 im im)) -4)))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) (sqrt.f64 -1/4)))
(/.f64 (sqrt.f64 -1/4) (/.f64 (sqrt.f64 re) im))
(/.f64 1/2 (sqrt.f64 (*.f64 (neg.f64 re) (pow.f64 im -2))))
(/.f64 (neg.f64 (sqrt.f64 -1/4)) (neg.f64 (/.f64 (sqrt.f64 re) im)))
(pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 1/2)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 1)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) 2)
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(log.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(-.f64 (+.f64 1 (/.f64 re (*.f64 im im))) 1)
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 re (*.f64 im im)) 1)
(*.f64 1 (/.f64 re (*.f64 im im)))
(*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) 2) (cbrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (pow.f64 im -2)))
(*.f64 (/.f64 (sqrt.f64 re) im) (/.f64 (sqrt.f64 re) im))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (pow.f64 im -2)))
(*.f64 (neg.f64 re) (/.f64 1 (*.f64 im (neg.f64 im))))
(*.f64 (pow.f64 im -2) re)
(*.f64 (/.f64 re im) (/.f64 1 im))
(*.f64 (/.f64 1 im) (/.f64 re im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) im) (/.f64 (cbrt.f64 re) im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(*.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (/.f64 (sqrt.f64 re) (cbrt.f64 (pow.f64 im 4))) (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 im) 2)))
(pow.f64 (/.f64 re (*.f64 im im)) 1)
(pow.f64 (pow.f64 (/.f64 re (*.f64 im im)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) 3)
(pow.f64 (/.f64 (sqrt.f64 re) im) 2)
(pow.f64 (/.f64 (*.f64 im im) re) -1)
(neg.f64 (/.f64 re (*.f64 im (neg.f64 im))))
(sqrt.f64 (pow.f64 (/.f64 re (*.f64 im im)) 2))
(log.f64 (exp.f64 (/.f64 re (*.f64 im im))))
(cbrt.f64 (pow.f64 (/.f64 re (*.f64 im im)) 3))
(cbrt.f64 (/.f64 (pow.f64 re 3) (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (/.f64 re (*.f64 im im))))
(log1p.f64 (expm1.f64 (/.f64 re (*.f64 im im))))
(exp.f64 (log.f64 (/.f64 re (*.f64 im im))))
(-.f64 (+.f64 1 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 1)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (*.f64 im im) (/.f64 -1/4 re))
(*.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 1)
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(*.f64 1 (*.f64 -1/4 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 1/4 (/.f64 1 (*.f64 (neg.f64 re) (pow.f64 im -2))))
(*.f64 (/.f64 (*.f64 im im) re) -1/4)
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (/.f64 -1/4 (neg.f64 re)) (*.f64 im (neg.f64 im)))
(*.f64 (/.f64 -1/4 (/.f64 re im)) im)
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (*.f64 (/.f64 -1/4 re) im) im)
(*.f64 (*.f64 (/.f64 -1/4 re) 1) (*.f64 im im))
(*.f64 (*.f64 (/.f64 -1/4 re) (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2))
(pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 1)
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 2)
(pow.f64 (/.f64 1/16 (pow.f64 (/.f64 re (*.f64 im im)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 3)
(pow.f64 (*.f64 (/.f64 re (*.f64 im im)) -4) -1)
(sqrt.f64 (/.f64 1/16 (pow.f64 (/.f64 re (*.f64 im im)) 2)))
(log.f64 (pow.f64 (exp.f64 -1/4) (/.f64 (*.f64 im im) re)))
(cbrt.f64 (pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 3))
(expm1.f64 (log1p.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(log1p.f64 (expm1.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(exp.f64 (log.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 im (*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1/4)))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1/4)))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1/4)))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1/4) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1/4)))
(*.f64 (sqrt.f64 -1/4) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(/.f64 re (pow.f64 im 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) 1)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 1)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 1 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im)))))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im)))))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (sqrt.f64 -1/4) (pow.f64 (/.f64 (*.f64 im im) re) 1/2))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (sqrt.f64 -1/4) (sqrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (sqrt.f64 -1/4) (/.f64 1 (/.f64 (sqrt.f64 re) im)))
(*.f64 (sqrt.f64 -1/4) (*.f64 (/.f64 1 (sqrt.f64 re)) im))
(*.f64 im (/.f64 (sqrt.f64 -1/4) (sqrt.f64 re)))
(*.f64 (sqrt.f64 -1/4) (/.f64 im (sqrt.f64 re)))
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im)))) (sqrt.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im))))))
(*.f64 (pow.f64 1 1/2) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im)))))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im)))) (sqrt.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im))))))
(*.f64 (pow.f64 (/.f64 -1/4 re) 1/2) im)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(/.f64 1 (sqrt.f64 (*.f64 (/.f64 re (*.f64 im im)) -4)))
(/.f64 1 (sqrt.f64 (/.f64 -4 (/.f64 im (/.f64 re im)))))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) (sqrt.f64 -1/4)))
(*.f64 (sqrt.f64 -1/4) (*.f64 (/.f64 1 (sqrt.f64 re)) im))
(*.f64 im (/.f64 (sqrt.f64 -1/4) (sqrt.f64 re)))
(*.f64 (sqrt.f64 -1/4) (/.f64 im (sqrt.f64 re)))
(/.f64 (sqrt.f64 -1/4) (/.f64 (sqrt.f64 re) im))
(*.f64 (sqrt.f64 -1/4) (*.f64 (/.f64 1 (sqrt.f64 re)) im))
(*.f64 im (/.f64 (sqrt.f64 -1/4) (sqrt.f64 re)))
(*.f64 (sqrt.f64 -1/4) (/.f64 im (sqrt.f64 re)))
(/.f64 1/2 (sqrt.f64 (*.f64 (neg.f64 re) (pow.f64 im -2))))
(/.f64 1/2 (sqrt.f64 (neg.f64 (/.f64 re (*.f64 im im)))))
(/.f64 (neg.f64 (sqrt.f64 -1/4)) (neg.f64 (/.f64 (sqrt.f64 re) im)))
(*.f64 (sqrt.f64 -1/4) (*.f64 (/.f64 1 (sqrt.f64 re)) im))
(*.f64 im (/.f64 (sqrt.f64 -1/4) (sqrt.f64 re)))
(*.f64 (sqrt.f64 -1/4) (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 1/2)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 1)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) 3)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) 2)
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(log.f64 (exp.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 3))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(+.f64 1 (-.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 1))
(+.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 0)
(*.f64 im (sqrt.f64 (/.f64 -1/4 re)))
(-.f64 (+.f64 1 (/.f64 re (*.f64 im im))) 1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 re (pow.f64 im -2))
(/.f64 re (*.f64 im im))
(*.f64 (/.f64 re (*.f64 im im)) 1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 1 (/.f64 re (*.f64 im im)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) 2) (cbrt.f64 (/.f64 re (*.f64 im im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (pow.f64 im -2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (sqrt.f64 re) im) (/.f64 (sqrt.f64 re) im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (pow.f64 im -2)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (neg.f64 re) (/.f64 1 (*.f64 im (neg.f64 im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (pow.f64 im -2) re)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 re im) (/.f64 1 im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 1 im) (/.f64 re im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) im) (/.f64 (cbrt.f64 re) im))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (*.f64 im im)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (*.f64 im im)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))
(/.f64 (/.f64 re (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 (pow.f64 im 4)))
(/.f64 re (*.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (/.f64 re (*.f64 im im))))
(*.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 im 4))))
(/.f64 (pow.f64 (cbrt.f64 re) 2) (/.f64 (cbrt.f64 (pow.f64 im 4)) (cbrt.f64 (/.f64 re (*.f64 im im)))))
(/.f64 (cbrt.f64 (*.f64 re (pow.f64 im -2))) (/.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 re) 2)))
(*.f64 (/.f64 (sqrt.f64 re) (cbrt.f64 (pow.f64 im 4))) (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 im 4))) (/.f64 re (pow.f64 (cbrt.f64 im) 2)))
(/.f64 (/.f64 re (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 (pow.f64 im 4)))
(/.f64 re (*.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2)))
(pow.f64 (/.f64 re (*.f64 im im)) 1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (pow.f64 (/.f64 re (*.f64 im im)) 3) 1/3)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (cbrt.f64 (/.f64 re (*.f64 im im))) 3)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (/.f64 (sqrt.f64 re) im) 2)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(pow.f64 (/.f64 (*.f64 im im) re) -1)
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(neg.f64 (/.f64 re (*.f64 im (neg.f64 im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(sqrt.f64 (pow.f64 (/.f64 re (*.f64 im im)) 2))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(log.f64 (exp.f64 (/.f64 re (*.f64 im im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(cbrt.f64 (pow.f64 (/.f64 re (*.f64 im im)) 3))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(cbrt.f64 (/.f64 (pow.f64 re 3) (pow.f64 (*.f64 im im) 3)))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(expm1.f64 (log1p.f64 (/.f64 re (*.f64 im im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(log1p.f64 (expm1.f64 (/.f64 re (*.f64 im im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(exp.f64 (log.f64 (/.f64 re (*.f64 im im))))
(/.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im -2))
(-.f64 (+.f64 1 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 1)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 im im) (/.f64 -1/4 re))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 1)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 1 (*.f64 -1/4 (/.f64 (*.f64 im im) re)))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im))) (pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 4))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im)))) (pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 2) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 1/4 (/.f64 1 (*.f64 (neg.f64 re) (pow.f64 im -2))))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 (*.f64 im im) re) -1/4)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))) (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 -1/4 (neg.f64 re)) (*.f64 im (neg.f64 im)))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (/.f64 -1/4 (/.f64 re im)) im)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)))) (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 -1/4 re) (*.f64 im im))) (pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 4))
(*.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 im (/.f64 re im)))) (pow.f64 (cbrt.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) 4))
(*.f64 (*.f64 (/.f64 -1/4 re) im) im)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 (/.f64 -1/4 re) 1) (*.f64 im im))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(*.f64 (*.f64 (/.f64 -1/4 re) (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2))
(*.f64 (/.f64 -1/4 re) (*.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 -1/4 re)) (cbrt.f64 (pow.f64 im 4)))
(pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 1)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) 2)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(pow.f64 (/.f64 1/16 (pow.f64 (/.f64 re (*.f64 im im)) 2)) 1/2)
(sqrt.f64 (/.f64 1/16 (pow.f64 (/.f64 re (*.f64 im im)) 2)))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(pow.f64 (pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 3) 1/3)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(pow.f64 (cbrt.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))) 3)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(pow.f64 (*.f64 (/.f64 re (*.f64 im im)) -4) -1)
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(sqrt.f64 (/.f64 1/16 (pow.f64 (/.f64 re (*.f64 im im)) 2)))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) 4))
(log.f64 (pow.f64 (exp.f64 -1/4) (/.f64 (*.f64 im im) re)))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(cbrt.f64 (pow.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re)) 3))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(expm1.f64 (log1p.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(log1p.f64 (expm1.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))
(exp.f64 (log.f64 (*.f64 -1/4 (/.f64 (*.f64 im im) re))))
(*.f64 -1/4 (/.f64 (*.f64 im im) re))
(*.f64 (/.f64 -1/4 re) (*.f64 im im))
(*.f64 -1/4 (/.f64 im (/.f64 re im)))

localize24.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

Compiled 65 to 41 computations (36.9% saved)

series7.0ms (0.1%)

Counts
4 → 72
Calls

24 calls:

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

rewrite65.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
717×log-prod_binary64
391×pow-prod-down_binary64
377×pow-unpow_binary64
331×pow2_binary64
234×pow1/3_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify57.0ms (0.7%)

Algorithm
egg-herbie
Rules
785×fma-def_binary64
558×distribute-rgt-in_binary64
389×unswap-sqr_binary64
297×log-prod_binary64
220×sqr-pow_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03012183
17172063
224351999
Stop Event
node limit
Counts
200 → 178
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 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(+.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))
(+.f64 0 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))) 1)
(*.f64 1 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1)
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6))
(*.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6) (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4) (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4))
(*.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) (sqrt.f64 2))
(*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 3/2) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 3/2)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))) 1))
(+.f64 0 (/.f64 im re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im re)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im re))) 1)
(*.f64 im (/.f64 1 re))
(*.f64 1 (/.f64 im re))
(*.f64 (/.f64 im re) 1)
(*.f64 (cbrt.f64 (/.f64 im re)) (pow.f64 (cbrt.f64 (/.f64 im re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 im re)) 2) (cbrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 (/.f64 im re)))
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 re) im)))
(*.f64 (/.f64 1 re) im)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) re))
(*.f64 (pow.f64 (cbrt.f64 re) -2) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 im) (cbrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (sqrt.f64 im) (cbrt.f64 re)))
(*.f64 (pow.f64 re -1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) -2) (cbrt.f64 (/.f64 im re)))
(*.f64 (/.f64 1 (neg.f64 re)) (neg.f64 im))
(*.f64 (*.f64 (/.f64 1 re) 1) im)
(*.f64 (*.f64 (/.f64 1 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(*.f64 (*.f64 (/.f64 1 re) (sqrt.f64 im)) (sqrt.f64 im))
(pow.f64 (/.f64 re im) -1)
(pow.f64 (/.f64 im re) 1)
(pow.f64 (pow.f64 (/.f64 re im) 2) -1/2)
(pow.f64 (pow.f64 (/.f64 re im) 3) -1/3)
(pow.f64 (pow.f64 (/.f64 re im) -2) 1/2)
(pow.f64 (pow.f64 (/.f64 re im) -3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 re im)) -3)
(pow.f64 (cbrt.f64 (/.f64 im re)) 3)
(pow.f64 (sqrt.f64 (/.f64 re im)) -2)
(pow.f64 (sqrt.f64 (/.f64 im re)) 2)
(pow.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3)) 1/3)
(pow.f64 (neg.f64 (/.f64 (neg.f64 re) im)) -1)
(pow.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) 2)
(sqrt.f64 (pow.f64 (/.f64 re im) -2))
(log.f64 (exp.f64 (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im re))))
(cbrt.f64 (pow.f64 (/.f64 re im) -3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (/.f64 im re)))
(log1p.f64 (expm1.f64 (/.f64 im re)))
(exp.f64 (log.f64 (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (/.f64 re im)) -1))
(exp.f64 (*.f64 (log.f64 (/.f64 im re)) 1))
(+.f64 0 (*.f64 -1/2 (*.f64 im (/.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))))) 1)
(/.f64 -1/2 (/.f64 (/.f64 re im) im))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(/.f64 (*.f64 -1/2 im) (/.f64 re im))
(/.f64 1 (/.f64 (/.f64 re im) (*.f64 -1/2 im)))
(/.f64 (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (/.f64 (/.f64 re im) (cbrt.f64 (*.f64 -1/2 im))))
(/.f64 (sqrt.f64 (*.f64 -1/2 im)) (/.f64 (/.f64 re im) (sqrt.f64 (*.f64 -1/2 im))))
(/.f64 (neg.f64 (*.f64 -1/2 im)) (/.f64 (neg.f64 re) im))
(/.f64 (/.f64 (*.f64 -1/2 im) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(/.f64 (/.f64 (*.f64 -1/2 im) 1) (/.f64 re im))
(/.f64 (/.f64 (*.f64 -1/2 im) re) (/.f64 1 im))
(/.f64 (/.f64 (*.f64 -1/2 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (/.f64 re im)))
(/.f64 (*.f64 -1 (*.f64 -1/2 im)) (/.f64 (neg.f64 re) im))
(/.f64 (*.f64 (*.f64 -1/2 im) -1) (/.f64 (neg.f64 re) im))
(pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 1)
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) 2)
(pow.f64 (/.f64 (pow.f64 (*.f64 -1/2 im) 3) (pow.f64 (/.f64 re im) 3)) 1/3)
(pow.f64 (/.f64 (/.f64 re im) (*.f64 -1/2 im)) -1)
(sqrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 -1/2 im) 3) (pow.f64 (/.f64 re im) 3)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) 1))
(+.f64 0 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))) 1)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) 1)
(pow.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4) 1/2)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)) 2)
(sqrt.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)) 1))
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 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(/.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 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) 1/2)
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 1/2 (sqrt.f64 -1)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) 1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(*.f64 -1/2 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))) -1/2)
(*.f64 (*.f64 (sqrt.f64 -1) im) (*.f64 (sqrt.f64 (/.f64 1 re)) -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 -1) im) -1/2))
(+.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(+.f64 0 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))) 1)
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 1 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1)
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6))
(*.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 1/6))
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/12) 6)
(*.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6) (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6))
(*.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 1/6))
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/12) 6)
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 (*.f64 im im) re))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 im (*.f64 -1/2 (/.f64 im re)))))
(*.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4) (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(*.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 -1/2 (/.f64 (*.f64 im im) re))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 im (*.f64 -1/2 (/.f64 im re)))))
(*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/2)
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1)
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 3/2))
(cbrt.f64 (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 3/2))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 3/2)
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6) 3)
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/6))
(*.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 1/6))
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/12) 6)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4) 2)
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(fabs.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 3/2))
(cbrt.f64 (pow.f64 (*.f64 im (neg.f64 (/.f64 im re))) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))) 1))
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(+.f64 0 (/.f64 im re))
(/.f64 im re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 im re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im re)))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 im re)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im re))) 1)
(/.f64 im re)
(*.f64 im (/.f64 1 re))
(/.f64 im re)
(*.f64 1 (/.f64 im re))
(/.f64 im re)
(*.f64 (/.f64 im re) 1)
(/.f64 im re)
(*.f64 (cbrt.f64 (/.f64 im re)) (pow.f64 (cbrt.f64 (/.f64 im re)) 2))
(/.f64 im re)
(*.f64 (pow.f64 (cbrt.f64 (/.f64 im re)) 2) (cbrt.f64 (/.f64 im re)))
(/.f64 im re)
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 (/.f64 im re)))
(/.f64 im re)
(*.f64 -1 (/.f64 1 (/.f64 (neg.f64 re) im)))
(/.f64 im re)
(*.f64 (/.f64 1 re) im)
(/.f64 im re)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) re))
(/.f64 im re)
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) re))
(/.f64 im re)
(*.f64 (pow.f64 (cbrt.f64 re) -2) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 im) (cbrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(pow.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 re)) 3)
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (sqrt.f64 im) (cbrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 re) 2)) (/.f64 (cbrt.f64 im) (cbrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 re)) (pow.f64 (cbrt.f64 re) 2))
(pow.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 re)) 3)
(*.f64 (pow.f64 re -1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (cbrt.f64 im) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (cbrt.f64 im) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) -2) (cbrt.f64 (/.f64 im re)))
(*.f64 (cbrt.f64 (/.f64 im re)) (pow.f64 (cbrt.f64 (/.f64 re im)) -2))
(*.f64 (/.f64 1 (neg.f64 re)) (neg.f64 im))
(/.f64 im re)
(*.f64 (*.f64 (/.f64 1 re) 1) im)
(/.f64 im re)
(*.f64 (*.f64 (/.f64 1 re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(/.f64 im re)
(*.f64 (*.f64 (/.f64 1 re) (sqrt.f64 im)) (sqrt.f64 im))
(/.f64 im re)
(pow.f64 (/.f64 re im) -1)
(/.f64 im re)
(pow.f64 (/.f64 im re) 1)
(/.f64 im re)
(pow.f64 (pow.f64 (/.f64 re im) 2) -1/2)
(pow.f64 (pow.f64 (/.f64 re im) 3) -1/3)
(*.f64 (pow.f64 (pow.f64 (/.f64 re im) 3) -1/6) (pow.f64 (pow.f64 (/.f64 re im) 3) -1/6))
(pow.f64 (pow.f64 (/.f64 re im) -2) 1/2)
(/.f64 im re)
(pow.f64 (pow.f64 (/.f64 re im) -3) 1/3)
(cbrt.f64 (pow.f64 (/.f64 re im) -3))
(pow.f64 (cbrt.f64 (/.f64 re im)) -3)
(pow.f64 (cbrt.f64 (/.f64 im re)) 3)
(/.f64 im re)
(pow.f64 (sqrt.f64 (/.f64 re im)) -2)
(pow.f64 (sqrt.f64 (/.f64 im re)) 2)
(/.f64 im re)
(pow.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3)) 1/3)
(/.f64 im re)
(pow.f64 (neg.f64 (/.f64 (neg.f64 re) im)) -1)
(/.f64 im re)
(pow.f64 (/.f64 (sqrt.f64 im) (sqrt.f64 re)) 2)
(/.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (cbrt.f64 im) (sqrt.f64 re))) (sqrt.f64 re))
(/.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 re))
(sqrt.f64 (pow.f64 (/.f64 re im) -2))
(/.f64 im re)
(log.f64 (exp.f64 (/.f64 im re)))
(/.f64 im re)
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im re))))
(/.f64 im re)
(cbrt.f64 (pow.f64 (/.f64 re im) -3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3)))
(/.f64 im re)
(expm1.f64 (log1p.f64 (/.f64 im re)))
(/.f64 im re)
(log1p.f64 (expm1.f64 (/.f64 im re)))
(/.f64 im re)
(exp.f64 (log.f64 (/.f64 im re)))
(/.f64 im re)
(exp.f64 (*.f64 (log.f64 (/.f64 re im)) -1))
(/.f64 im re)
(exp.f64 (*.f64 (log.f64 (/.f64 im re)) 1))
(/.f64 im re)
(+.f64 0 (*.f64 -1/2 (*.f64 im (/.f64 im re))))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))))) 1)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 -1/2 (/.f64 (/.f64 re im) im))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 im (/.f64 (/.f64 re im) -1/2))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (*.f64 -1/2 im) (/.f64 re im))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 1 (/.f64 (/.f64 re im) (*.f64 -1/2 im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (/.f64 (/.f64 re im) (cbrt.f64 (*.f64 -1/2 im))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 1/4 (*.f64 im im))) (/.f64 re im)) (cbrt.f64 (*.f64 im -1/2)))
(*.f64 (cbrt.f64 (*.f64 im -1/2)) (/.f64 (cbrt.f64 (*.f64 im (*.f64 im 1/4))) (/.f64 re im)))
(/.f64 (sqrt.f64 (*.f64 -1/2 im)) (/.f64 (/.f64 re im) (sqrt.f64 (*.f64 -1/2 im))))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (neg.f64 (*.f64 -1/2 im)) (/.f64 (neg.f64 re) im))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 -1/2 im) (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 -1/2 im) 1) (/.f64 re im))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 -1/2 im) re) (/.f64 1 im))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (/.f64 (*.f64 -1/2 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (/.f64 re im)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (*.f64 -1 (*.f64 -1/2 im)) (/.f64 (neg.f64 re) im))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(/.f64 (*.f64 (*.f64 -1/2 im) -1) (/.f64 (neg.f64 re) im))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 1)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 2) 1/2)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 3) 1/3)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) 3)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) 2)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(pow.f64 (/.f64 (pow.f64 (*.f64 -1/2 im) 3) (pow.f64 (/.f64 re im) 3)) 1/3)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(pow.f64 (/.f64 (/.f64 re im) (*.f64 -1/2 im)) -1)
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(sqrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 2))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 -1/2) im) (/.f64 im re)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))))))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re))) 3))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 -1/2 im) 3) (pow.f64 (/.f64 re im) 3)))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(expm1.f64 (log1p.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(log1p.f64 (expm1.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(exp.f64 (log.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/2 (*.f64 im (/.f64 im re)))) 1))
(*.f64 -1/2 (*.f64 im (/.f64 im re)))
(*.f64 -1/2 (/.f64 (*.f64 im im) re))
(*.f64 im (*.f64 -1/2 (/.f64 im re)))
(+.f64 0 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))) (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))) 1)
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) 1)
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(pow.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4) 1/2)
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) 3) 1/3)
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)) 3)
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)) 2)
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(sqrt.f64 (*.f64 (*.f64 (/.f64 im re) (neg.f64 im)) 1/4))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))))
(log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2))))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2) 3))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))) 1/2)) 1))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))))
(sqrt.f64 (*.f64 (/.f64 im re) (*.f64 im -1/4)))

localize11.0ms (0.1%)

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)

series6.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

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

rewrite46.0ms (0.5%)

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

simplify52.0ms (0.6%)

Algorithm
egg-herbie
Rules
552×fma-def_binary64
550×associate-*r*_binary64
539×associate-*l*_binary64
356×log-prod_binary64
254×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01771147
14461063
21414949
36183935
Stop Event
node limit
Counts
52 → 103
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))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 re im) 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2)) 1)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))) 3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))) 2)
(pow.f64 (*.f64 (-.f64 re im) 2) 1/2)
(sqrt.f64 (*.f64 (-.f64 re im) 2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 re im) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (-.f64 re im) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(-.f64 (+.f64 1 (sqrt.f64 (-.f64 re im))) 1)
(*.f64 (sqrt.f64 (-.f64 re im)) 1)
(*.f64 1 (sqrt.f64 (-.f64 re im)))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 re im))) (cbrt.f64 (-.f64 re im)))
(*.f64 (cbrt.f64 (-.f64 re im)) (cbrt.f64 (sqrt.f64 (-.f64 re im))))
(*.f64 (pow.f64 (-.f64 re im) 1/4) (pow.f64 (-.f64 re im) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 re im))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 re im)) 1/2))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re 3) (pow.f64 im 3))) (sqrt.f64 (fma.f64 re re (*.f64 im (+.f64 re im)))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 re im)))
(pow.f64 (-.f64 re im) 1/2)
(pow.f64 (sqrt.f64 (-.f64 re im)) 1)
(pow.f64 (pow.f64 (-.f64 re im) 3/2) 1/3)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 re im))) 3)
(pow.f64 (pow.f64 (-.f64 re im) 1/4) 2)
(fabs.f64 (sqrt.f64 (-.f64 re im)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 re im))))
(cbrt.f64 (pow.f64 (-.f64 re im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 re im))))
Outputs
(*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)))
(*.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 2)) (sqrt.f64 -1))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 -1)) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) re)) (sqrt.f64 (/.f64 1 im))) (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) (*.f64 (*.f64 (sqrt.f64 im) (sqrt.f64 2)) (sqrt.f64 -1)))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 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 -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) re) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 re re) -1))))))
(fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 re re)))) (fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 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 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 (sqrt.f64 2) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 re 3))) (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) re) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/16 (*.f64 (/.f64 (sqrt.f64 2) (/.f64 (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 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/8 (*.f64 (/.f64 (sqrt.f64 2) (sqrt.f64 -1)) (/.f64 (*.f64 re re) -1)))))))
(fma.f64 1/2 (/.f64 (*.f64 (sqrt.f64 2) re) (/.f64 (sqrt.f64 -1) (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 (sqrt.f64 2) (/.f64 (sqrt.f64 -1) (*.f64 re re)))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (*.f64 (sqrt.f64 2) 1/16) (/.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 re 3))) (*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 2) (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)))
(fma.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 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (*.f64 (sqrt.f64 2) (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 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (sqrt.f64 2) (*.f64 im (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 im))))))
(+.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 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 -1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(+.f64 (*.f64 (sqrt.f64 2) (*.f64 im (+.f64 (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 -1/8 im))))) (*.f64 (sqrt.f64 2) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/16) (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)))
(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 (sqrt.f64 (/.f64 1 im)) (*.f64 1/2 (/.f64 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 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (/.f64 (*.f64 -1/8 (*.f64 re re)) (*.f64 -1 (sqrt.f64 -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 re (/.f64 (sqrt.f64 -1) re))))))
(+.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 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 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 1/8 (/.f64 re (/.f64 (sqrt.f64 -1) re))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 re (sqrt.f64 -1))) (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)))))
(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 (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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (sqrt.f64 re)))
(fma.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im 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))) (+.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 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 -1/16 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (sqrt.f64 re))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 im im)) (fma.f64 im (*.f64 -1/2 (sqrt.f64 (/.f64 1 re))) (fma.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/16) (sqrt.f64 re))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 re im) 2))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2)) 3) 1/3)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))) 3)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))) 2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(pow.f64 (*.f64 (-.f64 re im) 2) 1/2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(sqrt.f64 (*.f64 (-.f64 re im) 2))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2)) 3))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 re im) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (-.f64 re im) 3/2))))
(cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (pow.f64 (-.f64 re im) 3/2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (-.f64 re im) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 re im) 3/2) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (-.f64 re im) 3/2))))
(cbrt.f64 (*.f64 (sqrt.f64 2) (*.f64 2 (pow.f64 (-.f64 re im) 3/2))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 re im) 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 re im)))) -1)
(+.f64 (sqrt.f64 (*.f64 2 (-.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (-.f64 re im)))
(-.f64 (+.f64 1 (sqrt.f64 (-.f64 re im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(*.f64 (sqrt.f64 (-.f64 re im)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(*.f64 1 (sqrt.f64 (-.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 re im))) (cbrt.f64 (-.f64 re im)))
(*.f64 (cbrt.f64 (-.f64 re im)) (cbrt.f64 (sqrt.f64 (-.f64 re im))))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 re im))) (cbrt.f64 (-.f64 re im)))
(*.f64 (pow.f64 (-.f64 re im) 1/4) (pow.f64 (-.f64 re im) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 re im))))
(*.f64 (fabs.f64 (cbrt.f64 (-.f64 re im))) (sqrt.f64 (cbrt.f64 (-.f64 re im))))
(*.f64 (cbrt.f64 (-.f64 re im)) (sqrt.f64 (cbrt.f64 (-.f64 re im))))
(pow.f64 (cbrt.f64 (-.f64 re im)) 3/2)
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 re im)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 re im)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 re im)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 re im))))
(*.f64 (fabs.f64 (cbrt.f64 (-.f64 re im))) (sqrt.f64 (cbrt.f64 (-.f64 re im))))
(*.f64 (cbrt.f64 (-.f64 re im)) (sqrt.f64 (cbrt.f64 (-.f64 re im))))
(pow.f64 (cbrt.f64 (-.f64 re im)) 3/2)
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re 3) (pow.f64 im 3))) (sqrt.f64 (fma.f64 re re (*.f64 im (+.f64 re im)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re 3) (pow.f64 im 3))) (sqrt.f64 (fma.f64 re re (*.f64 im (+.f64 im re)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re 3) (pow.f64 im 3))) (sqrt.f64 (fma.f64 im (+.f64 im re) (*.f64 re re))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 re im)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (fma.f64 re re (*.f64 im (neg.f64 im)))) (sqrt.f64 (+.f64 im re)))
(/.f64 (sqrt.f64 (fma.f64 im (neg.f64 im) (*.f64 re re))) (sqrt.f64 (+.f64 im re)))
(pow.f64 (-.f64 re im) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(pow.f64 (sqrt.f64 (-.f64 re im)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(pow.f64 (pow.f64 (-.f64 re im) 3/2) 1/3)
(cbrt.f64 (pow.f64 (-.f64 re im) 3/2))
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 re im))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(pow.f64 (pow.f64 (-.f64 re im) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(fabs.f64 (sqrt.f64 (-.f64 re im)))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(cbrt.f64 (pow.f64 (-.f64 re im) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 re im))))
(+.f64 1 (-.f64 (sqrt.f64 (-.f64 re im)) 1))
(+.f64 (sqrt.f64 (-.f64 re im)) 0)
(sqrt.f64 (-.f64 re im))

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 36 to 28 computations (22.2% saved)

series7.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite51.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
533×log-prod_binary64
393×exp-prod_binary64
368×pow-prod-down_binary64
280×pow2_binary64
213×pow-unpow_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify46.0ms (0.5%)

Algorithm
egg-herbie
Rules
561×associate-*l*_binary64
517×associate-*r*_binary64
481×log-prod_binary64
319×associate-+l+_binary64
306×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0104818
1256796
2770796
34279746
Stop Event
node limit
Counts
45 → 59
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 1)
(/.f64 (sqrt.f64 2) (/.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (/.f64 2 (sqrt.f64 2)))
(/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im)))
(/.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im) 2)
(/.f64 (neg.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im)) -2)
(/.f64 (*.f64 (neg.f64 (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) -2)
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (neg.f64 (sqrt.f64 2))) -2)
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 -1/2)) (sqrt.f64 re))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)) 1)
(pow.f64 (*.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1/2) 1/2)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(pow.f64 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im)) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))))
(sqrt.f64 (*.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1/2))
(log.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 1) 1))
Outputs
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im)) (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 -1/2) im))) (sqrt.f64 (/.f64 1 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (*.f64 (sqrt.f64 -1/2) im) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))
(+.f64 0 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 -1/2 re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)) (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sqrt.f64 1/2)) im) (sqrt.f64 (/.f64 -1/2 re))))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 1)
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(/.f64 (sqrt.f64 2) (/.f64 2 (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 (sqrt.f64 2) (/.f64 im (/.f64 2 (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1/2 re))))
(/.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (/.f64 2 (sqrt.f64 2)))
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 (sqrt.f64 2) (/.f64 im (/.f64 2 (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1/2 re))))
(/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im)))
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 1/2 im))
(/.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im) 2)
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 1/2 im))
(/.f64 (neg.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im)) -2)
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 1/2 im))
(/.f64 (*.f64 (neg.f64 (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 -1/2 re)))) -2)
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 (sqrt.f64 2) (/.f64 im (/.f64 2 (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1/2 re))))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (neg.f64 (sqrt.f64 2))) -2)
(*.f64 (/.f64 (sqrt.f64 2) 2) (*.f64 im (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 (sqrt.f64 2) (/.f64 im (/.f64 2 (sqrt.f64 (/.f64 -1/2 re)))))
(*.f64 (sqrt.f64 2) (*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1/2 re))))
(/.f64 (*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 -1/2)) (sqrt.f64 re))
(/.f64 (*.f64 im (sqrt.f64 1/2)) (/.f64 (sqrt.f64 re) (sqrt.f64 -1/2)))
(*.f64 (/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (sqrt.f64 -1/2))
(*.f64 (sqrt.f64 -1/2) (/.f64 (sqrt.f64 1/2) (/.f64 (sqrt.f64 re) im)))
(*.f64 (/.f64 (sqrt.f64 -1/2) (sqrt.f64 re)) (*.f64 im (sqrt.f64 1/2)))
(pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)) 1)
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(pow.f64 (*.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1/2) 1/2)
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)) 3) 1/3)
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 3)
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 2)
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(pow.f64 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im)) -1)
(*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 -1 re))))
(*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1 re)))
(*.f64 (sqrt.f64 (/.f64 -1 re)) (*.f64 1/2 im))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))))) (sqrt.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))))) (sqrt.f64 (log.f64 (*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im))))))
(sqrt.f64 (*.f64 (*.f64 (/.f64 -1/2 re) (*.f64 im im)) 1/2))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(log.f64 (pow.f64 (exp.f64 (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 -1/2 re))))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)) 3))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 1))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 1/3))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 3))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im)))) 2))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 (sqrt.f64 1/2) im))) 1) 1))
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
(*.f64 im (*.f64 (sqrt.f64 (/.f64 -1/2 re)) (sqrt.f64 1/2)))
(sqrt.f64 (*.f64 im (*.f64 (/.f64 -1/4 re) im)))

eval209.0ms (2.4%)

Compiler

Compiled 11376 to 8218 computations (27.8% saved)

prune190.0ms (2.2%)

Pruning

23 alts after pruning (14 fresh and 9 done)

PrunedKeptTotal
New71812730
Fresh10212
Picked101
Done3912
Total73223755
Error
0b
Counts
755 → 23
Alt Table
Click to see full alt table
StatusErrorProgram
53.4b
(/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im)))
54.8b
(/.f64 1/2 (sqrt.f64 (neg.f64 (/.f64 re (*.f64 im im)))))
53.0b
(*.f64 (/.f64 im 2) (sqrt.f64 (/.f64 -1 re)))
53.0b
(*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)
53.0b
(*.f64 (sqrt.f64 (/.f64 -1/2 re)) (*.f64 im (sqrt.f64 1/2)))
53.0b
(*.f64 (sqrt.f64 2) (/.f64 im (/.f64 2 (sqrt.f64 (/.f64 -1/2 re)))))
47.8b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2)))
45.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))
55.7b
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 im im)) (sqrt.f64 (/.f64 im (*.f64 re -2)))))
55.7b
(*.f64 1/2 (*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 (/.f64 im re))))
50.3b
(*.f64 1/2 (*.f64 (sqrt.f64 (neg.f64 im)) (sqrt.f64 2)))
45.9b
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
47.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im))))
15.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
44.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))
50.4b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im))))
47.2b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
45.2b
(*.f64 1/2 (fabs.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 -1/2 re))) (sqrt.f64 2))))
54.5b
(sqrt.f64 (/.f64 -1/4 (*.f64 (pow.f64 im -2) re)))
54.4b
(sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/4))
51.6b
(sqrt.f64 (*.f64 (/.f64 -1/4 (/.f64 re im)) im))
51.6b
(sqrt.f64 (*.f64 (*.f64 (/.f64 -1/4 re) im) im))
45.1b
(fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im))
Compiler

Compiled 247 to 197 computations (20.2% saved)

regimes352.0ms (4%)

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

7 calls:

88.0ms
im
60.0ms
(*.f64 im im)
55.0ms
re
47.0ms
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
25.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
ErrorSegmentsBranch
7.8b2re
13.0b5im
7.1b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
7.1b2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
7.6b2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
7.6b2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
13.8b3(*.f64 im im)
Compiler

Compiled 531 to 377 computations (29% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.0
3.5821619419060214e-122
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes295.0ms (3.4%)

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

3 calls:

145.0ms
im
66.0ms
(*.f64 im im)
55.0ms
re
Results
ErrorSegmentsBranch
20.7b4re
19.1b10im
29.5b10(*.f64 im im)
Compiler

Compiled 263 to 187 computations (28.9% saved)

bsearch271.0ms (3.1%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
1.723218648708192e+48
5.921632124535583e+48
29.0ms
1.1544370230995858e-32
1.9477128590425307e-29
18.0ms
1.1090280669225943e-61
3.903371059280514e-61
25.0ms
3.420149534833042e-94
1.92943796215555e-92
38.0ms
5.998222973655959e-141
4.942287808598725e-135
44.0ms
-1.2120374664197513e-275
-1.2315507600684598e-285
38.0ms
-9.196858631745534e-243
-9.474627620688398e-246
33.0ms
-7.267332676814665e-175
-9.535086092906872e-179
31.0ms
-1.3179145865402735e-107
-4.45798940495941e-110
Results
85.0ms669×body256valid
75.0ms139×body4096valid
63.0ms160×body2048valid
23.0ms82×body1024valid
7.0ms38×body512valid
Compiler

Compiled 1395 to 1198 computations (14.1% saved)

regimes225.0ms (2.6%)

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

3 calls:

109.0ms
im
66.0ms
(*.f64 im im)
43.0ms
re
Results
ErrorSegmentsBranch
20.7b4re
19.3b10im
29.5b10(*.f64 im im)
Compiler

Compiled 245 to 174 computations (29% saved)

bsearch250.0ms (2.9%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
1.723218648708192e+48
5.921632124535583e+48
27.0ms
1.1544370230995858e-32
1.9477128590425307e-29
17.0ms
1.1090280669225943e-61
3.903371059280514e-61
23.0ms
3.420149534833042e-94
1.92943796215555e-92
43.0ms
5.998222973655959e-141
4.942287808598725e-135
24.0ms
-1.2120374664197513e-275
-1.2315507600684598e-285
33.0ms
-9.196858631745534e-243
-9.474627620688398e-246
44.0ms
-7.267332676814665e-175
-9.535086092906872e-179
26.0ms
-1.3179145865402735e-107
-4.45798940495941e-110
Results
75.0ms650×body256valid
66.0ms143×body2048valid
64.0ms124×body4096valid
22.0ms71×body1024valid
7.0ms36×body512valid
Compiler

Compiled 1311 to 1126 computations (14.1% saved)

regimes188.0ms (2.2%)

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

3 calls:

96.0ms
im
60.0ms
re
26.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
25.6b6re
21.7b9im
34.6b4(*.f64 im im)
Compiler

Compiled 196 to 136 computations (30.6% saved)

bsearch248.0ms (2.9%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
1.723218648708192e+48
5.921632124535583e+48
27.0ms
1.1544370230995858e-32
1.9477128590425307e-29
16.0ms
1.1090280669225943e-61
3.903371059280514e-61
24.0ms
3.420149534833042e-94
1.92943796215555e-92
31.0ms
5.998222973655959e-141
4.942287808598725e-135
43.0ms
-1.2120374664197513e-275
-1.2315507600684598e-285
67.0ms
-9.196858631745534e-243
-9.474627620688398e-246
22.0ms
-6.605168170300717e-173
-4.179169397994288e-174
Results
87.0ms118×body4096valid
67.0ms580×body256valid
48.0ms120×body2048valid
27.0ms83×body1024valid
5.0ms27×body512valid
Compiler

Compiled 1205 to 1028 computations (14.7% saved)

regimes242.0ms (2.8%)

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

3 calls:

166.0ms
im
51.0ms
re
21.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
25.6b6re
21.7b9im
34.6b4(*.f64 im im)
Compiler

Compiled 169 to 115 computations (32% saved)

bsearch330.0ms (3.8%)

Algorithm
binary-search
Steps
TimeLeftRight
28.0ms
1.723218648708192e+48
5.921632124535583e+48
54.0ms
1.1544370230995858e-32
1.9477128590425307e-29
16.0ms
1.1090280669225943e-61
3.903371059280514e-61
47.0ms
3.420149534833042e-94
1.92943796215555e-92
34.0ms
5.998222973655959e-141
4.942287808598725e-135
81.0ms
-1.2120374664197513e-275
-1.2315507600684598e-285
44.0ms
-9.196858631745534e-243
-9.474627620688398e-246
27.0ms
-6.605168170300717e-173
-4.179169397994288e-174
Results
147.0ms137×body2048valid
69.0ms568×body256valid
61.0ms129×body4096valid
32.0ms62×body1024valid
6.0ms32×body512valid
Compiler

Compiled 1114 to 937 computations (15.9% saved)

regimes163.0ms (1.9%)

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

3 calls:

77.0ms
re
71.0ms
im
12.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
25.6b6re
21.8b9im
34.6b4(*.f64 im im)
Compiler

Compiled 78 to 54 computations (30.8% saved)

bsearch276.0ms (3.2%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
1.723218648708192e+48
5.921632124535583e+48
52.0ms
1.1544370230995858e-32
1.9477128590425307e-29
15.0ms
1.1090280669225943e-61
3.903371059280514e-61
25.0ms
3.420149534833042e-94
1.92943796215555e-92
64.0ms
5.998222973655959e-141
4.942287808598725e-135
44.0ms
-1.2120374664197513e-275
-1.2315507600684598e-285
31.0ms
-9.196858631745534e-243
-9.474627620688398e-246
30.0ms
-7.267332676814665e-175
-9.535086092906872e-179
Results
100.0ms590×body256valid
76.0ms130×body2048valid
58.0ms128×body4096valid
21.0ms73×body1024valid
8.0ms39×body512valid
Compiler

Compiled 1146 to 971 computations (15.3% saved)

regimes80.0ms (0.9%)

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

2 calls:

44.0ms
re
32.0ms
im
Results
ErrorSegmentsBranch
25.1b8re
22.3b9im
Compiler

Compiled 33 to 26 computations (21.2% saved)

bsearch250.0ms (2.9%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
1.723218648708192e+48
5.921632124535583e+48
26.0ms
1.1544370230995858e-32
1.9477128590425307e-29
16.0ms
1.1090280669225943e-61
3.903371059280514e-61
24.0ms
3.420149534833042e-94
1.92943796215555e-92
38.0ms
5.998222973655959e-141
4.942287808598725e-135
50.0ms
-1.2120374664197513e-275
-1.2315507600684598e-285
49.0ms
-9.196858631745534e-243
-9.474627620688398e-246
32.0ms
-7.267332676814665e-175
-9.535086092906872e-179
Results
94.0ms609×body256valid
67.0ms136×body4096valid
44.0ms119×body2048valid
22.0ms62×body1024valid
7.0ms34×body512valid
Compiler

Compiled 1110 to 953 computations (14.1% saved)

regimes38.0ms (0.4%)

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

2 calls:

24.0ms
im
13.0ms
re
Results
ErrorSegmentsBranch
28.9b3re
30.9b8im
Compiler

Compiled 26 to 20 computations (23.1% saved)

bsearch88.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
6.892421436237459e-145
8.254452253181078e-141
70.0ms
-615150383701982.9
-944046616212.1334
Results
52.0ms39×body2048valid
23.0ms187×body256valid
5.0ms16×body1024valid
4.0msbody4096valid
1.0msbody512valid
Compiler

Compiled 310 to 264 computations (14.8% saved)

regimes20.0ms (0.2%)

Accuracy

Total -29.7b remaining (-89.6%)

Threshold costs -29.7b (-89.6%)

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

2 calls:

11.0ms
im
8.0ms
re
Results
ErrorSegmentsBranch
34.5b2re
33.2b4im
Compiler

Compiled 20 to 16 computations (20% saved)

bsearch106.0ms (1.2%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
1.723218648708192e+48
5.921632124535583e+48
27.0ms
3.420149534833042e-94
1.92943796215555e-92
64.0ms
5.998222973655959e-141
4.942287808598725e-135
Results
58.0ms227×body256valid
18.0ms47×body2048valid
15.0ms26×body4096valid
7.0ms26×body1024valid
2.0ms10×body512valid
Compiler

Compiled 400 to 352 computations (12% saved)

simplify36.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02031022
12331018
22431018
32461018
42471018
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) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -8990361175547381/10576895500643977583230644928524336637254474927428499508554380724390492659780981533203027367035444557561459392400373732868096) (*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))) (if (<=.f64 im -6843660926433293/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im -7380189343388173/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -6906207819755239/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im 1424579592556401/1675975991242824637446753124775730765934920727574049172215445180465220503759193372100234287270862928461253982273310756356719235351493321243304206125760512) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3757668132438133/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 7526485800425553/57896044618658097711785492504343953926634992332820282019728792003956564819968) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1598517415830675/5708990770823839524233143877797980545530986496) (/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))))))))
(if (<=.f64 im -1427880892586937/1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -2566372847412485/142576269300693600582536612678134103902913390851517497830599766184352348975271168328309775353667856243082572174174825228459022022542982437445395666241319193382874833573758279690089818507706368) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im -7533943288042093/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -6386688990511103/1277337798102220679460078536343576682283168806678692826561630235159815610796137002102373097915286848697179165980283196956142360312571899942873069950902292109004803630688694832971224141724392311796898148316508111355731718691277357048888867371806748260804557380400483866651109436947420166353846272) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im 4582746851054599/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5049366552963741/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 4052723123306067/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 321130730858841/178405961588244985132285746181186892047843328) (/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im))) (if (<=.f64 im 2400000000000000105230023308182873651121714364416) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))))))))
(if (<=.f64 im -4037804501679799/69617318994479297159441705409245167921344429126717528237597542082203295398081625160307507496908132931192662194421301381083506846944815643283884602656894137393981852330936660004926669193216) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -8856227212065807/492012622892544834271389790732894657662927476722860263779722814473019822087813969212041474774160597375290836201288857198210756815506783814402799101977552824568363543598917391308333275538335033741802194070267666507650193099632451067528125735714134272643866558464) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7110181102717439/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (sqrt.f64 (*.f64 (*.f64 (/.f64 -1/4 re) im) im)) (if (<=.f64 im 6703903964971299/6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503042048) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 493193942382505/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 7526485800425553/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6942132777321789/182687704666362864775460604089535377456991567872) (/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -2262562867320577/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -584264989684897/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -1175150774254043/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (sqrt.f64 (*.f64 (*.f64 (/.f64 -1/4 re) im) im)) (if (<=.f64 im 253687772111951/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3170532486744675/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 4052723123306067/14474011154664524427946373126085988481658748083205070504932198000989141204992) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6028694253989975/91343852333181432387730302044767688728495783936) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -576577292452201/1921924308174003258872616370050369756495810455948672905389542244035233680030523317234537010836564833497229828911284598430510768810573374275010933992099815720970170092183271059798176857571621225553914820586983072295508566795439261982531741155133337002515103744) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5116289855985/1218164251424999885044172798484398538859528357199375940858488307151618586345803262808201883235251282403163114528926083522932396233150386755822248412039081677441409712494559128733848706936256706044099949184902297359210699740674359368218295451933620701603467350388034693385228573748989263872) (sqrt.f64 (*.f64 (*.f64 (/.f64 -1/4 re) im) im)) (if (<=.f64 im 5892103094213055/6546781215792283740026379393655198304433284092086129578966582736192267592809349109766540184651808314301773368255120142018434513091770786106657055178752) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5448618792035293/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 633237988016573/1809251394333065553493296640760748560207343510400633813116524750123642650624) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6779426540353309/356811923176489970264571492362373784095686656) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -2952075737355269/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7484401160755199/623700096729599941142616472824012051896078518886080481719546013261628716209051270557799364216448656590419514638810154763741386871372998018980991186964009818850001772797214273911730537951363433494579173982669976247915878267225271996527767271390013799220975283398673763013237029759482503102464) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 3535261856527833/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 352281387416075/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 1736881338559743/7237005577332262213973186563042994240829374041602535252466099000494570602496) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5530584809235595/356811923176489970264571492362373784095686656) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 re -275000000000000) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 re 686479766013061/1716199415032652428745475199770348304317358825035826352348615864796385795849414013030639910165363638744324077847870214509280496999929160953143507072778764288) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 im 5564764033423441/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 8830520111229613/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Outputs
(if (<=.f64 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))) 0) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 (sqrt.f64 (*.f64 2 (+.f64 re (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))))) 0) (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -8990361175547381/10576895500643977583230644928524336637254474927428499508554380724390492659780981533203027367035444557561459392400373732868096) (*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))) (if (<=.f64 im -6843660926433293/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im -7380189343388173/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -6906207819755239/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im 1424579592556401/1675975991242824637446753124775730765934920727574049172215445180465220503759193372100234287270862928461253982273310756356719235351493321243304206125760512) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3757668132438133/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 7526485800425553/57896044618658097711785492504343953926634992332820282019728792003956564819968) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1598517415830675/5708990770823839524233143877797980545530986496) (/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))))))))
(if (<=.f64 im -8990361175547381/10576895500643977583230644928524336637254474927428499508554380724390492659780981533203027367035444557561459392400373732868096) (*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 re im)) (sqrt.f64 2))) (if (<=.f64 im -6843660926433293/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (if (<=.f64 im -7380189343388173/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -6906207819755239/10463951242053391806136963369726580181263718864311851635192874886429209483641954321222640418122029864527291727710479949464718215680589004332016189037791576956967351342601788071700268169006221818240189631008834448226154239518944108944497601509840881752510934060240763835605888507473266002770708660224) (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (if (<=.f64 im 1424579592556401/1675975991242824637446753124775730765934920727574049172215445180465220503759193372100234287270862928461253982273310756356719235351493321243304206125760512) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3757668132438133/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 7526485800425553/57896044618658097711785492504343953926634992332820282019728792003956564819968) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1598517415830675/5708990770823839524233143877797980545530986496) (/.f64 1 (/.f64 2 (*.f64 im (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2)))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))))))))
(if (<=.f64 im -1427880892586937/1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -2566372847412485/142576269300693600582536612678134103902913390851517497830599766184352348975271168328309775353667856243082572174174825228459022022542982437445395666241319193382874833573758279690089818507706368) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im -7533943288042093/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -6386688990511103/1277337798102220679460078536343576682283168806678692826561630235159815610796137002102373097915286848697179165980283196956142360312571899942873069950902292109004803630688694832971224141724392311796898148316508111355731718691277357048888867371806748260804557380400483866651109436947420166353846272) (fabs.f64 (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im)) (if (<=.f64 im 4582746851054599/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5049366552963741/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 4052723123306067/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 321130730858841/178405961588244985132285746181186892047843328) (/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im))) (if (<=.f64 im 2400000000000000105230023308182873651121714364416) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))))))))
(if (<=.f64 im -1427880892586937/1322111937580497197903830616065542079656809365928562438569297590548811582472622691650378420879430569695182424050046716608512) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -2566372847412485/142576269300693600582536612678134103902913390851517497830599766184352348975271168328309775353667856243082572174174825228459022022542982437445395666241319193382874833573758279690089818507706368) (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (if (<=.f64 im -7533943288042093/30750788930784052141961861920805916103932967295178766486232675904563738880488373075752592173385037335955677262580553574888172300969173988400174943873597051535522721474932336956770829721145939608862637129391729156728137068727028191720507858482133392040241659904) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -6386688990511103/1277337798102220679460078536343576682283168806678692826561630235159815610796137002102373097915286848697179165980283196956142360312571899942873069950902292109004803630688694832971224141724392311796898148316508111355731718691277357048888867371806748260804557380400483866651109436947420166353846272) (fabs.f64 (*.f64 im (sqrt.f64 (/.f64 -1/4 re)))) (if (<=.f64 im 4582746851054599/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5049366552963741/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 4052723123306067/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 321130730858841/178405961588244985132285746181186892047843328) (/.f64 1 (/.f64 2 (*.f64 im (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2)))) (if (<=.f64 im 2400000000000000105230023308182873651121714364416) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))))))))
(if (<=.f64 im -4037804501679799/69617318994479297159441705409245167921344429126717528237597542082203295398081625160307507496908132931192662194421301381083506846944815643283884602656894137393981852330936660004926669193216) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -8856227212065807/492012622892544834271389790732894657662927476722860263779722814473019822087813969212041474774160597375290836201288857198210756815506783814402799101977552824568363543598917391308333275538335033741802194070267666507650193099632451067528125735714134272643866558464) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7110181102717439/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (sqrt.f64 (*.f64 (*.f64 (/.f64 -1/4 re) im) im)) (if (<=.f64 im 6703903964971299/6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503042048) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 493193942382505/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 7526485800425553/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6942132777321789/182687704666362864775460604089535377456991567872) (/.f64 1 (/.f64 2 (*.f64 (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2) im))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -4037804501679799/69617318994479297159441705409245167921344429126717528237597542082203295398081625160307507496908132931192662194421301381083506846944815643283884602656894137393981852330936660004926669193216) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -8856227212065807/492012622892544834271389790732894657662927476722860263779722814473019822087813969212041474774160597375290836201288857198210756815506783814402799101977552824568363543598917391308333275538335033741802194070267666507650193099632451067528125735714134272643866558464) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7110181102717439/2494800386918399764570465891296048207584314075544321926878184053046514864836205082231197456865794626361678058555240619054965547485491992075923964747856039275400007091188857095646922151805453733978316695930679904991663513068901087986111069085560055196883901133594695052052948119037930012409856) (sqrt.f64 (*.f64 im (*.f64 im (/.f64 -1/4 re)))) (if (<=.f64 im 6703903964971299/6703903964971298549787012499102923063739682910296196688861780721860882015036773488400937149083451713845015929093243025426876941405973284973216824503042048) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 493193942382505/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 7526485800425553/28948022309329048855892746252171976963317496166410141009864396001978282409984) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6942132777321789/182687704666362864775460604089535377456991567872) (/.f64 1 (/.f64 2 (*.f64 im (pow.f64 (*.f64 2 (/.f64 -1/2 re)) 1/2)))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -2262562867320577/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -584264989684897/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -1175150774254043/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (sqrt.f64 (*.f64 (*.f64 (/.f64 -1/4 re) im) im)) (if (<=.f64 im 253687772111951/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3170532486744675/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 4052723123306067/14474011154664524427946373126085988481658748083205070504932198000989141204992) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6028694253989975/91343852333181432387730302044767688728495783936) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -2262562867320577/34808659497239648579720852704622583960672214563358764118798771041101647699040812580153753748454066465596331097210650690541753423472407821641942301328447068696990926165468330002463334596608) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 re im)))) (if (<=.f64 im -584264989684897/61501577861568104283923723841611832207865934590357532972465351809127477760976746151505184346770074671911354525161107149776344601938347976800349887747194103071045442949864673913541659442291879217725274258783458313456274137454056383441015716964266784080483319808) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -1175150774254043/10218702384817765435680628290748613458265350453429542612493041881278524886369096016818984783322294789577433327842265575649138882500575199542984559607218336872038429045509558663769793133795138494375185186532064890845853749530218856391110938974453986086436459043203870933208875495579361330830770176) (sqrt.f64 (*.f64 im (*.f64 im (/.f64 -1/4 re)))) (if (<=.f64 im 253687772111951/1636695303948070935006594848413799576108321023021532394741645684048066898202337277441635046162952078575443342063780035504608628272942696526664263794688) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3170532486744675/1174271291386916613944740298394668513687841274454159935353645485766104512557304221731849499192384351515967488) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 4052723123306067/14474011154664524427946373126085988481658748083205070504932198000989141204992) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6028694253989975/91343852333181432387730302044767688728495783936) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -576577292452201/1921924308174003258872616370050369756495810455948672905389542244035233680030523317234537010836564833497229828911284598430510768810573374275010933992099815720970170092183271059798176857571621225553914820586983072295508566795439261982531741155133337002515103744) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5116289855985/1218164251424999885044172798484398538859528357199375940858488307151618586345803262808201883235251282403163114528926083522932396233150386755822248412039081677441409712494559128733848706936256706044099949184902297359210699740674359368218295451933620701603467350388034693385228573748989263872) (sqrt.f64 (*.f64 (*.f64 (/.f64 -1/4 re) im) im)) (if (<=.f64 im 5892103094213055/6546781215792283740026379393655198304433284092086129578966582736192267592809349109766540184651808314301773368255120142018434513091770786106657055178752) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5448618792035293/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 633237988016573/1809251394333065553493296640760748560207343510400633813116524750123642650624) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6779426540353309/356811923176489970264571492362373784095686656) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -576577292452201/1921924308174003258872616370050369756495810455948672905389542244035233680030523317234537010836564833497229828911284598430510768810573374275010933992099815720970170092183271059798176857571621225553914820586983072295508566795439261982531741155133337002515103744) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5116289855985/1218164251424999885044172798484398538859528357199375940858488307151618586345803262808201883235251282403163114528926083522932396233150386755822248412039081677441409712494559128733848706936256706044099949184902297359210699740674359368218295451933620701603467350388034693385228573748989263872) (sqrt.f64 (*.f64 im (*.f64 im (/.f64 -1/4 re)))) (if (<=.f64 im 5892103094213055/6546781215792283740026379393655198304433284092086129578966582736192267592809349109766540184651808314301773368255120142018434513091770786106657055178752) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5448618792035293/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 633237988016573/1809251394333065553493296640760748560207343510400633813116524750123642650624) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6779426540353309/356811923176489970264571492362373784095686656) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -576577292452201/1921924308174003258872616370050369756495810455948672905389542244035233680030523317234537010836564833497229828911284598430510768810573374275010933992099815720970170092183271059798176857571621225553914820586983072295508566795439261982531741155133337002515103744) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -5116289855985/1218164251424999885044172798484398538859528357199375940858488307151618586345803262808201883235251282403163114528926083522932396233150386755822248412039081677441409712494559128733848706936256706044099949184902297359210699740674359368218295451933620701603467350388034693385228573748989263872) (sqrt.f64 (*.f64 im (*.f64 im (/.f64 -1/4 re)))) (if (<=.f64 im 5892103094213055/6546781215792283740026379393655198304433284092086129578966582736192267592809349109766540184651808314301773368255120142018434513091770786106657055178752) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5448618792035293/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 633237988016573/1809251394333065553493296640760748560207343510400633813116524750123642650624) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 6779426540353309/356811923176489970264571492362373784095686656) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -2952075737355269/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7484401160755199/623700096729599941142616472824012051896078518886080481719546013261628716209051270557799364216448656590419514638810154763741386871372998018980991186964009818850001772797214273911730537951363433494579173982669976247915878267225271996527767271390013799220975283398673763013237029759482503102464) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 3535261856527833/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 352281387416075/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 1736881338559743/7237005577332262213973186563042994240829374041602535252466099000494570602496) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5530584809235595/356811923176489970264571492362373784095686656) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 2 (neg.f64 im)))) (if (<=.f64 im -2952075737355269/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7484401160755199/623700096729599941142616472824012051896078518886080481719546013261628716209051270557799364216448656590419514638810154763741386871372998018980991186964009818850001772797214273911730537951363433494579173982669976247915878267225271996527767271390013799220975283398673763013237029759482503102464) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 im 3535261856527833/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 352281387416075/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 1736881338559743/7237005577332262213973186563042994240829374041602535252466099000494570602496) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5530584809235595/356811923176489970264571492362373784095686656) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 im -1603983029632803/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im -2952075737355269/123003155723136208567847447683223664415731869180715065944930703618254955521953492303010368693540149343822709050322214299552689203876695953600699775494388206142090885899729347827083318884583758435450548517566916626912548274908112766882031433928533568160966639616) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im -7484401160755199/623700096729599941142616472824012051896078518886080481719546013261628716209051270557799364216448656590419514638810154763741386871372998018980991186964009818850001772797214273911730537951363433494579173982669976247915878267225271996527767271390013799220975283398673763013237029759482503102464) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 im 3535261856527833/26187124863169134960105517574620793217733136368344518315866330944769070371237396439066160738607233257207093473020480568073738052367083144426628220715008) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 352281387416075/587135645693458306972370149197334256843920637227079967676822742883052256278652110865924749596192175757983744) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 1736881338559743/7237005577332262213973186563042994240829374041602535252466099000494570602496) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 5530584809235595/356811923176489970264571492362373784095686656) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))))
(if (<=.f64 re -275000000000000) (*.f64 (sqrt.f64 (/.f64 -1/4 re)) im) (if (<=.f64 re 686479766013061/1716199415032652428745475199770348304317358825035826352348615864796385795849414013030639910165363638744324077847870214509280496999929160953143507072778764288) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 re -275000000000000) (*.f64 im (sqrt.f64 (/.f64 -1/4 re))) (if (<=.f64 re 686479766013061/1716199415032652428745475199770348304317358825035826352348615864796385795849414013030639910165363638744324077847870214509280496999929160953143507072778764288) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re)))))
(if (<=.f64 im 5564764033423441/3273390607896141870013189696827599152216642046043064789483291368096133796404674554883270092325904157150886684127560071009217256545885393053328527589376) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 8830520111229613/9394170331095332911557922387157348109502730195633279482829163886128836100458433773854795993539074812127739904) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 im 1799999999999999916663240651923791846763275485184) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 697 to 527 computations (24.4% saved)

soundness166.0ms (1.9%)

Algorithm
egg-herbie
Rules
835×fma-def_binary64
624×fma-def_binary64
462×fma-neg_binary64
455×times-frac_binary64
424×unswap-sqr_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12515
23415
33615
02431951
16471768
220751600
376811600
02872185
17102121
223162083
01315
12515
23415
33615
Stop Event
saturated
node limit
node limit
saturated
Compiler

Compiled 381 to 283 computations (25.7% saved)

end367.0ms (4.2%)

Compiler

Compiled 679 to 499 computations (26.5% saved)

Profiling

Loading profile data...