Details

Time bar (total: 5.7s)

analyze166.0ms (2.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50%50%0%0%0%0
0%0%50%50%0%0%0%1
0%0%50%50%0%0%0%2
0%0%50%50%0%0%0%3
12.5%6.2%43.7%50%0%0%0%4
25%12.5%37.5%50%0%0%0%5
37.5%18.7%31.2%50%0%0%0%6
46.9%23.4%26.5%50%0%0%0%7
54.7%27.3%22.6%50%0%0%0%8
60.2%30%19.9%50%0%0%0%9
64.5%32.2%17.8%50%0%0%0%10
67.4%33.7%16.3%50%0%0%0%11
69.6%34.8%15.2%50%0%0%0%12
Compiler

Compiled 20 to 14 computations (30% saved)

sample1.6s (27.9%)

Results
836.0ms6375×body256valid
287.0ms492×body4096valid
261.0ms686×body2048valid
130.0ms443×body1024valid
53.0ms260×body512valid
Bogosity

preprocess46.0ms (0.8%)

Algorithm
egg-herbie
Rules
318×fma-def_binary64
176×fma-neg_binary64
82×distribute-rgt-in_binary64
48×distribute-lft-in_binary64
48×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01930
13330
25130
38830
413530
518530
630530
747930
868930
984030
10109030
11125130
12128330
13128730
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 (hypot.f64 re im) re))))
(*.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 (hypot.f64 re im) im))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify31.0ms (0.5%)

Algorithm
egg-herbie
Rules
203×fma-def_binary64
142×fma-neg_binary64
49×distribute-rgt-in_binary64
43×cancel-sign-sub-inv_binary64
28×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
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 (hypot.f64 re im) re))))

eval5.0ms (0.1%)

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

Compiled 12 to 9 computations (25% saved)

localize11.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 39 to 16 computations (59% saved)

series11.0ms (0.2%)

Counts
2 → 32
Calls

12 calls:

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

rewrite53.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
873×pow1_binary64
812×add-log-exp_binary64
811×log1p-expm1-u_binary64
811×expm1-log1p-u_binary64
794×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify55.0ms (1%)

Algorithm
egg-herbie
Rules
606×associate-/r*_binary64
583×associate-/l*_binary64
236×fma-def_binary64
235×distribute-rgt-in_binary64
214×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

eval72.0ms (1.3%)

Compiler

Compiled 3972 to 2855 computations (28.1% saved)

prune32.0ms (0.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1449153
Fresh000
Picked011
Done000
Total14410154
Error
0.1b
Counts
154 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
48.1b
(*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re))))
48.1b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
48.1b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
58.0b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
30.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
43.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
54.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
32.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
28.3b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
Compiler

Compiled 284 to 235 computations (17.3% saved)

localize22.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
0.2b
(-.f64 (hypot.f64 re im) re)
14.1b
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series17.0ms (0.3%)

Counts
2 → 32
Calls

12 calls:

TimeVariablePointExpression
4.0ms
re
@-inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
2.0ms
re
@inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
2.0ms
im
@0
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
2.0ms
im
@inf
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
1.0ms
im
@inf
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)

rewrite53.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
458×log-prod_binary64
410×prod-diff_binary64
345×exp-prod_binary64
268×pow2_binary64
266×pow-prod-down_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01028
121925
2273125
Stop Event
node limit
Counts
2 → 75
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 3/4)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) (pow.f64 2 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 2 3/2) (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/2) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/4))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/4 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/4) 2))))))

simplify79.0ms (1.4%)

Algorithm
egg-herbie
Rules
696×times-frac_binary64
557×distribute-rgt-in_binary64
260×fma-def_binary64
236×associate-*l*_binary64
234×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04473330
112203077
240032750
Stop Event
node limit
Counts
107 → 207
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 3)) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/8 (/.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 re 2)))) (pow.f64 im 7)) (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 -5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 6)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4)))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4)))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 (-.f64 (*.f64 1/480 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 63/1024 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 6))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))))))) (pow.f64 im 3))))))
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(*.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)
(pow.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8) 1/6)
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2) 1/9)
(pow.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2) 4) 1/4)
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) 3)
(pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 3/4)
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) 2/3)
(pow.f64 (exp.f64 1/3) (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))
(fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/2))
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4)) 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 3/4))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))
(+.f64 0 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 1)
(*.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1)
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (*.f64 (-.f64 (hypot.f64 re im) re) 2))
(*.f64 1 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) (pow.f64 2 3/2))
(*.f64 (pow.f64 2 3/2) (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/2) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))
(sqrt.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8))
(log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(exp.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/4))
(exp.f64 (*.f64 (*.f64 3/4 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 3/2))
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/4) 2))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))) (-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))) (/.f64 (neg.f64 re) (sqrt.f64 2)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 2)) (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (*.f64 -1 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))) 2)) (pow.f64 re 3)) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))) (fma.f64 1/2 (*.f64 (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (neg.f64 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 1 (sqrt.f64 2)))) 2)) (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 im)) (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))) (-.f64 (fma.f64 1/2 (*.f64 (*.f64 (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (*.f64 2 (sqrt.f64 2))) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (fma.f64 (*.f64 1/4 (/.f64 (*.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (pow.f64 re 3)) (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (/.f64 (neg.f64 re) (sqrt.f64 2)) (*.f64 1/2 (/.f64 (-.f64 (/.f64 1 im) (pow.f64 (/.f64 (neg.f64 (sqrt.f64 (/.f64 1 im))) (sqrt.f64 2)) 2)) (/.f64 (sqrt.f64 2) (*.f64 re re)))))))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (pow.f64 im 3) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5))))))
(fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/8)))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (*.f64 (sqrt.f64 (/.f64 1 re)) im)))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5))) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (sqrt.f64 re) (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2))) (*.f64 (pow.f64 im 5) 1/2))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 1 (pow.f64 re 5)) -1/64)) (pow.f64 im 5)) (*.f64 1/2 (sqrt.f64 re)))))
(+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 -1 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6)))) re)) (*.f64 -1/8 (/.f64 (-.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 5))) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 re 2)))) (pow.f64 im 7)) (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 1 re)) im))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5))) (fma.f64 1/2 (*.f64 (+.f64 (neg.f64 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (*.f64 1/8 (/.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 re re)))) (*.f64 (pow.f64 im 7) (sqrt.f64 re))) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/8 (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 1/2 (*.f64 (sqrt.f64 re) (*.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (pow.f64 im 5))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 (*.f64 (fma.f64 -1 (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re) (*.f64 1/8 (/.f64 (-.f64 (/.f64 1/8 (pow.f64 re 5)) (pow.f64 (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 2)) (*.f64 re re)))) (*.f64 (sqrt.f64 re) (pow.f64 im 7)))))))
(+.f64 (*.f64 (*.f64 1/2 (sqrt.f64 re)) (+.f64 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 1 (pow.f64 re 5)) -1/64)) (pow.f64 im 5)) (*.f64 (-.f64 (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 5)) (*.f64 (/.f64 1 (pow.f64 re 5)) -1/64)) (*.f64 re re))) (/.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) re)) (pow.f64 im 7)))) (fma.f64 im (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 (pow.f64 im 3) -1/8))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(*.f64 (sqrt.f64 8) (pow.f64 im 3/2))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 -3/2 (*.f64 re (sqrt.f64 8)))))
(fma.f64 (*.f64 (*.f64 -3/2 re) (sqrt.f64 8)) (sqrt.f64 im) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 im) (*.f64 -3/2 (*.f64 re (sqrt.f64 8))))))
(fma.f64 (*.f64 (*.f64 re (*.f64 re 9/8)) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)) (fma.f64 (*.f64 (*.f64 -3/2 re) (sqrt.f64 8)) (sqrt.f64 im) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2))))
(+.f64 (*.f64 9/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 -5/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 -5/16 (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 9/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 re (*.f64 re (sqrt.f64 8)))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -5/16 (*.f64 (pow.f64 re 3) (sqrt.f64 8)))))))
(fma.f64 9/8 (*.f64 re (*.f64 re (*.f64 (sqrt.f64 (/.f64 1 im)) (sqrt.f64 8)))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 (*.f64 -5/16 (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))
(*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))
(fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) re) (/.f64 (pow.f64 (/.f64 1 re) 3/2) re)) (*.f64 im im)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))))
(+.f64 (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))))
(+.f64 (fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (pow.f64 re 4)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))
(+.f64 (*.f64 -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) re) (/.f64 (pow.f64 (/.f64 1 re) 3/2) re)) (*.f64 im im))) (*.f64 (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 27/128) (pow.f64 re 4)) 1) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/128 (pow.f64 im 4)) (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 4)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 45/2 (pow.f64 im 6)) (+.f64 (*.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 im 2))) (*.f64 -15/4 (pow.f64 im 6))))) (*.f64 -3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 3 (pow.f64 im 4))) (pow.f64 im 2))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re)))))) (pow.f64 re 6)) (+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 (pow.f64 im 2)) (log.f64 (/.f64 1 re))))))))
(+.f64 (+.f64 (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 1/16 (*.f64 (pow.f64 im 4) 9/4))) (/.f64 (pow.f64 re 4) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))) (/.f64 (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 45/2 (pow.f64 im 6) (fma.f64 -720 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -3/128 (*.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 9/4))))) (/.f64 (pow.f64 re 6) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))) (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))
(+.f64 (fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (+.f64 (*.f64 (/.f64 (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) 9/64)) (pow.f64 re 4)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 (/.f64 (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 (pow.f64 im 6) 45/2 (fma.f64 -720 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) -15/4))) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 re 6)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))))
(+.f64 (fma.f64 -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) re) (/.f64 (pow.f64 (/.f64 1 re) 3/2) re)) (*.f64 im im)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (*.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)) (+.f64 (/.f64 (*.f64 (pow.f64 im 4) 27/128) (pow.f64 re 4)) (/.f64 (fma.f64 -9/1024 (pow.f64 im 6) (fma.f64 1/480 (+.f64 (/.f64 (*.f64 -720 (*.f64 (pow.f64 im 8) 5/64)) (*.f64 im im)) (*.f64 (pow.f64 im 6) 75/4)) (*.f64 -3/128 (*.f64 (pow.f64 im 6) 9/4)))) (pow.f64 re 6)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 3/8 (*.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))))) (*.f64 re re)))
(fma.f64 3/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) re)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))))
(fma.f64 3/8 (*.f64 (/.f64 im re) (/.f64 (*.f64 im (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2))) re)) (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/16 (*.f64 (pow.f64 im 4) -9/4) (*.f64 9/128 (pow.f64 im 4)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (fma.f64 3/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) re)) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64))))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 im re) (/.f64 (*.f64 im (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2))) re)) (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2))) (/.f64 (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2)) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) -9/128))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 9/1024 (pow.f64 im 6)) (+.f64 (*.f64 1/480 (+.f64 (*.f64 15/4 (pow.f64 im 6)) (+.f64 (*.f64 45/2 (pow.f64 im 6)) (*.f64 45/4 (pow.f64 im 6))))) (*.f64 3/128 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4))) (pow.f64 im 2)))))) (pow.f64 re 6)) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (pow.f64 im 2)) (pow.f64 re 2))) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 4) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (+.f64 (*.f64 1/16 (+.f64 (*.f64 -3/4 (pow.f64 im 4)) (*.f64 -3/2 (pow.f64 im 4)))) (*.f64 9/128 (pow.f64 im 4)))) (pow.f64 re 4)))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 re 6) (fma.f64 9/1024 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 15/4 (pow.f64 im 6) (*.f64 (pow.f64 im 6) 135/4)) (*.f64 (*.f64 3/128 (*.f64 (pow.f64 im 4) -9/4)) (*.f64 im im))))))) (fma.f64 3/8 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 4) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 (pow.f64 re 4) (fma.f64 1/16 (*.f64 (pow.f64 im 4) -9/4) (*.f64 9/128 (pow.f64 im 4)))))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 (*.f64 im im) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) re)) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (/.f64 (pow.f64 re 4) (fma.f64 9/128 (pow.f64 im 4) (*.f64 (pow.f64 im 4) -9/64))))) (+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 4) (log.f64 (/.f64 -1 re)))) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) 9/1024 (fma.f64 1/480 (*.f64 (pow.f64 im 6) 75/2) (*.f64 3/128 (*.f64 (pow.f64 im 6) -9/4)))))))
(+.f64 (fma.f64 3/8 (*.f64 (/.f64 im re) (/.f64 (*.f64 im (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2))) re)) (/.f64 (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2)) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 4) -9/128)))) (+.f64 (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2)) (*.f64 (/.f64 (*.f64 (pow.f64 4 3/2) (pow.f64 (/.f64 -1 re) -3/2)) (pow.f64 re 6)) (fma.f64 (pow.f64 im 6) 9/1024 (fma.f64 3/128 (*.f64 (pow.f64 im 6) -9/4) (*.f64 (pow.f64 im 6) 5/64))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re)))))
(pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))
(*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))))
(fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 re re)) (*.f64 im im)) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))
(fma.f64 -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) re) (/.f64 (pow.f64 (/.f64 1 re) 3/2) re)) (*.f64 im im)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4)))))
(+.f64 (fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))) (*.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))
(fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 re re)) (*.f64 im im)) (fma.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4))) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re))))))
(fma.f64 -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) re) (/.f64 (pow.f64 (/.f64 1 re) 3/2) re)) (*.f64 im im)) (fma.f64 27/128 (/.f64 (pow.f64 im 4) (/.f64 (pow.f64 re 4) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))))
(+.f64 (*.f64 -3/8 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 2)) (pow.f64 re 2))) (+.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 (-.f64 (*.f64 1/480 (+.f64 (*.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (*.f64 1/16 (/.f64 1 (pow.f64 re 6))))) (*.f64 75/4 (/.f64 1 (pow.f64 re 6))))) (*.f64 63/1024 (/.f64 1 (pow.f64 re 6)))) (pow.f64 im 6))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (*.f64 27/128 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 2 (log.f64 im)) (log.f64 (/.f64 1 re))))) (pow.f64 im 4)) (pow.f64 re 4))))))
(fma.f64 -3/8 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (*.f64 re re) (*.f64 im im))) (fma.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 (pow.f64 im 6) (fma.f64 1/480 (fma.f64 -720 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) (/.f64 75/4 (pow.f64 re 6))) (neg.f64 (/.f64 63/1024 (pow.f64 re 6))))) (+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))))))
(fma.f64 -3/8 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (*.f64 re re)) (*.f64 im im)) (+.f64 (*.f64 27/128 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))) (/.f64 (pow.f64 re 4) (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 (pow.f64 im 6) (+.f64 (fma.f64 1/480 (fma.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) -720 (/.f64 -45 (pow.f64 re 6))) (/.f64 5/128 (pow.f64 re 6))) (/.f64 -63/1024 (pow.f64 re 6)))) 1) (pow.f64 (exp.f64 3/2) (fma.f64 2 (log.f64 im) (neg.f64 (log.f64 re)))))))
(fma.f64 -3/8 (*.f64 (*.f64 (/.f64 (pow.f64 im 3) re) (/.f64 (pow.f64 (/.f64 1 re) 3/2) re)) (*.f64 im im)) (+.f64 (/.f64 (*.f64 (*.f64 27/128 (pow.f64 im 4)) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2))) (pow.f64 re 4)) (*.f64 (+.f64 (*.f64 (pow.f64 im 6) (+.f64 (*.f64 (+.f64 (pow.f64 (/.f64 -1/8 (pow.f64 re 3)) 2) (/.f64 1/16 (pow.f64 re 6))) -3/2) (*.f64 (/.f64 1 (pow.f64 re 6)) -23/1024))) 1) (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 1 re) 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))
(*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8)))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im) (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im)))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2)))) (*.f64 (+.f64 (/.f64 (*.f64 re (*.f64 re 9/8)) (*.f64 im im)) 1) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3)))))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (/.f64 (fma.f64 -9/16 (pow.f64 re 3) (fma.f64 -9/8 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 1/4 (*.f64 (pow.f64 re 3) 1)))) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8)))))))
(+.f64 (*.f64 (/.f64 (fma.f64 (pow.f64 re 3) -9/16 (fma.f64 (pow.f64 re 3) 1/4 (*.f64 re 0))) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 im) (log.f64 2))) im) (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im))))
(+.f64 (*.f64 (*.f64 (/.f64 (pow.f64 2 3/2) im) (/.f64 (pow.f64 im 3/2) im)) (+.f64 (*.f64 re (*.f64 re 9/8)) (/.f64 (*.f64 (pow.f64 re 3) -5/16) im))) (fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))) (*.f64 (pow.f64 im 3/2) (pow.f64 2 3/2))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (*.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re))))
(fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))
(fma.f64 3/2 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im re)) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (fma.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im))))
(+.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (fma.f64 3/2 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im re)) (/.f64 (*.f64 re (*.f64 re 9/8)) (*.f64 (/.f64 im (pow.f64 2 3/2)) (/.f64 im (pow.f64 (/.f64 -1 im) -3/2))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) re) im)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 3/4 (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2)))) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 im)))))) (+.f64 (*.f64 -9/16 (pow.f64 re 3)) (+.f64 (*.f64 -9/8 (*.f64 re (+.f64 (pow.f64 re 2) (*.f64 -1 (pow.f64 re 2))))) (*.f64 1/4 (+.f64 (*.f64 3 (pow.f64 re 3)) (*.f64 -2 (pow.f64 re 3))))))) (pow.f64 im 3))))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (+.f64 (fma.f64 3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 im re)) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (*.f64 im im) (fma.f64 3/4 (*.f64 0 (*.f64 re re)) (*.f64 (*.f64 re re) 9/8))))) (neg.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 im))))) (/.f64 (pow.f64 im 3) (fma.f64 -9/16 (pow.f64 re 3) (fma.f64 -9/8 (*.f64 re (*.f64 0 (*.f64 re re))) (*.f64 1/4 (*.f64 (pow.f64 re 3) 1)))))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (-.f64 (fma.f64 3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))))) (*.f64 (/.f64 (fma.f64 (*.f64 re re) 9/8 0) im) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) im))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 im)))) (pow.f64 im 3)) (fma.f64 (pow.f64 re 3) -9/16 (fma.f64 (pow.f64 re 3) 1/4 (*.f64 re 0))))))
(+.f64 (fma.f64 3/2 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (/.f64 im re)) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (*.f64 (/.f64 (pow.f64 2 3/2) im) (/.f64 (pow.f64 (/.f64 -1 im) -3/2) im)) (-.f64 (*.f64 re (*.f64 re 9/8)) (/.f64 (*.f64 (pow.f64 re 3) -5/16) im))))
(+.f64 0 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 1)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 re im) re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 (hypot.f64 re im) re)))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(*.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))
(pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1/3)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8) 1/6)
(pow.f64 (*.f64 8 (pow.f64 (-.f64 (hypot.f64 re im) re) 3)) 1/6)
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2) 1/9)
(*.f64 (pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 9/2) 1/18) (pow.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 9/2) 1/18))
(pow.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 2) 4) 1/4)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6) 3)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/2)
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3/2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 2) 3/4)
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3/2)
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4) 2)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) 2/3)
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (exp.f64 1/3) (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (exp.f64 1) (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))) 2)) (cbrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))))) (sqrt.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))))
(sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(fabs.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/2))
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3/2)
(exp.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6)) 3))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4)) 2))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))) 3/4))
(pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 3/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 1/2))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1/3))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 1))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))
(sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))
(+.f64 0 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))) 1)
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(*.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2) 1)
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(*.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) (*.f64 (-.f64 (hypot.f64 re im) re) 2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(*.f64 1 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) (pow.f64 2 3/2))
(*.f64 (pow.f64 2 3/2) (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2))
(*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3/2) (pow.f64 2 3/2))
(*.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/4))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 4) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/6))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/6) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 4))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 5/2) (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 1/4))
(*.f64 (pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 1/4) (pow.f64 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))) 5/2))
(sqrt.f64 (*.f64 (pow.f64 (-.f64 (hypot.f64 re im) re) 3) 8))
(sqrt.f64 (*.f64 8 (pow.f64 (-.f64 (hypot.f64 re im) re) 3)))
(log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2))))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 9/2)) 1/3))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 3/4))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 3/4 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 1) 3/2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 1))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1/3) 3))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2))) 1) 3))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2)) 3/4) 2))
(pow.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)) 3/2)

localize7.0ms (0.1%)

Compiler

Compiled 18 to 14 computations (22.2% saved)

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 28 to 15 computations (46.4% saved)

series7.0ms (0.1%)

Counts
1 → 8
Calls

6 calls:

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

rewrite44.0ms (0.8%)

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 im re)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) (pow.f64 (*.f64 2 (-.f64 im re)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 2) 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (-.f64 im re)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))))))))

simplify40.0ms (0.7%)

Algorithm
egg-herbie
Rules
670×associate-/r*_binary64
650×associate-*l/_binary64
592×associate-/r/_binary64
534×associate-*r/_binary64
299×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

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

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

Compiled 60 to 49 computations (18.3% saved)

series12.0ms (0.2%)

Counts
4 → 24
Calls

18 calls:

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

rewrite62.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
575×log-prod_binary64
436×exp-prod_binary64
423×pow-prod-down_binary64
293×pow2_binary64
253×pow-unpow_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify101.0ms (1.8%)

Algorithm
egg-herbie
Rules
509×fma-def_binary64
507×log-prod_binary64
334×distribute-rgt-in_binary64
328×distribute-lft-in_binary64
271×exp-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03051517
16721347
217581347
360141296
Stop Event
node limit
Counts
149 → 155
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 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (sqrt.f64 (/.f64 1 re)))
(+.f64 0 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 1)
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(pow.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 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 1/2) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 1/2 re))))
(pow.f64 (pow.f64 (/.f64 1/2 re) 3/2) 1/3)
(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 1/2 re) 1/2)
(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)))))
(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 (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 (log.f64 (/.f64 1/2 re)) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (/.f64 1/2 re))) 1) 1))
(+.f64 0 (*.f64 im (sqrt.f64 (/.f64 1/2 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))))) 1)
(/.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) 1) (sqrt.f64 re))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1)
(pow.f64 (E.f64) (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re)))))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 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 (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 im im) (/.f64 1/2 re)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))
(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 (pow.f64 re -1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -1/2))) 1)
(*.f64 1 (pow.f64 re -1/2))
(*.f64 (pow.f64 re -1/2) 1)
(*.f64 (/.f64 1 (cbrt.f64 re)) (pow.f64 re -1/6))
(*.f64 (pow.f64 re -1/6) (/.f64 1 (cbrt.f64 re)))
(*.f64 (pow.f64 re -1/4) (pow.f64 re -1/4))
(/.f64 1 (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) 1))
(/.f64 -1 (neg.f64 (sqrt.f64 re)))
(/.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (/.f64 1 re) 1/2)
(pow.f64 (pow.f64 re -1/2) 1)
(pow.f64 (exp.f64 1/2) (neg.f64 (log.f64 re)))
(pow.f64 (E.f64) (log.f64 (pow.f64 re -1/2)))
(pow.f64 (pow.f64 re 3) -1/6)
(pow.f64 (pow.f64 re -2) 1/4)
(pow.f64 (pow.f64 re -3) 1/6)
(pow.f64 (pow.f64 re -3/2) 1/3)
(pow.f64 (cbrt.f64 re) -3/2)
(pow.f64 (/.f64 1 (cbrt.f64 re)) 3/2)
(pow.f64 (pow.f64 re -1/6) 3)
(pow.f64 (sqrt.f64 re) -1)
(pow.f64 (pow.f64 re -1/4) 2)
(pow.f64 (/.f64 (sqrt.f64 re) 1) -1)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 re -1/2))) 2)) (cbrt.f64 (log.f64 (pow.f64 re -1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 re -1/2)))) (sqrt.f64 (log.f64 (pow.f64 re -1/2))))
(fabs.f64 (pow.f64 re -1/2))
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -1/2))))
(cbrt.f64 (pow.f64 re -3/2))
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
(exp.f64 (log.f64 (pow.f64 re -1/2)))
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/2)) 1))
(exp.f64 (*.f64 (log.f64 re) -1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/6)) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) -1))
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/4)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 1/2))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.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 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2))))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (*.f64 (sqrt.f64 2) (pow.f64 re -1/2)))
(*.f64 (*.f64 (sqrt.f64 1/2) im) (/.f64 (sqrt.f64 2) (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(*.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 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(+.f64 0 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sqrt.f64 (/.f64 1 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))) 1/2)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3) 1/3)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 3)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 2)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (log.f64 re) (log.f64 im))) 2)) (cbrt.f64 (fma.f64 -1/2 (log.f64 re) (log.f64 im))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))) 2)) (cbrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))) (sqrt.f64 (log.f64 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2))))) (sqrt.f64 (log.f64 (*.f64 im (pow.f64 re -1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 -1/2 (log.f64 re) (log.f64 im)))) (sqrt.f64 (fma.f64 -1/2 (log.f64 re) (log.f64 im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re))))) (sqrt.f64 (log.f64 (/.f64 im (sqrt.f64 re)))))
(sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 (*.f64 (/.f64 1/2 re) 2) 1/2)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 1))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im) 3)) 1/3))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 3))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im))) 2))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 (*.f64 2 (/.f64 1/2 re)) 1/2) im)) 1) 1))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 re -1/2))
(/.f64 im (sqrt.f64 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 1/2) (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 1/2 re)) 1)
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (E.f64) (log.f64 (sqrt.f64 (/.f64 1/2 re))))
(sqrt.f64 (/.f64 1/2 re))
(pow.f64 (pow.f64 (/.f64 1/2 re) 3/2) 1/3)
(sqrt.f64 (/.f64 1/2 re))
(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 1/2 re) 1/2)
(sqrt.f64 (/.f64 1/2 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)))))
(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 (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 (log.f64 (/.f64 1/2 re)) 1/2))
(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 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 (sqrt.f64 (/.f64 1/2 re))) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))))
(*.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 im (sqrt.f64 1/2)) (sqrt.f64 re))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(/.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) 1) (sqrt.f64 re))
(*.f64 (sqrt.f64 1/2) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 1/2) (*.f64 im (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 1/2) (/.f64 im (sqrt.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (E.f64) (log.f64 (*.f64 im (sqrt.f64 (/.f64 1/2 re)))))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(pow.f64 (*.f64 (*.f64 im im) (/.f64 1/2 re)) 1/2)
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(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 (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 im im) (/.f64 1/2 re)))
(*.f64 im (sqrt.f64 (/.f64 1/2 re)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 (/.f64 1/2 re))) im))
(*.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 (pow.f64 re -1/2))
(pow.f64 re -1/2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 re -1/2)))))
(pow.f64 re -1/2)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re -1/2))) 1)
(pow.f64 re -1/2)
(*.f64 1 (pow.f64 re -1/2))
(pow.f64 re -1/2)
(*.f64 (pow.f64 re -1/2) 1)
(pow.f64 re -1/2)
(*.f64 (/.f64 1 (cbrt.f64 re)) (pow.f64 re -1/6))
(/.f64 (pow.f64 re -1/6) (cbrt.f64 re))
(*.f64 (pow.f64 re -1/6) (/.f64 1 (cbrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (pow.f64 re -1/6))
(/.f64 (pow.f64 re -1/6) (cbrt.f64 re))
(*.f64 (pow.f64 re -1/4) (pow.f64 re -1/4))
(pow.f64 re -1/2)
(/.f64 1 (sqrt.f64 re))
(pow.f64 re -1/2)
(/.f64 1 (/.f64 (sqrt.f64 re) 1))
(pow.f64 re -1/2)
(/.f64 -1 (neg.f64 (sqrt.f64 re)))
(pow.f64 re -1/2)
(/.f64 (sqrt.f64 -1) (sqrt.f64 (neg.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (/.f64 1 re) 1/2)
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re -1/2) 1)
(pow.f64 re -1/2)
(pow.f64 (exp.f64 1/2) (neg.f64 (log.f64 re)))
(pow.f64 re -1/2)
(pow.f64 (E.f64) (log.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re 3) -1/6)
(pow.f64 (pow.f64 re -2) 1/4)
(pow.f64 (pow.f64 re -3) 1/6)
(pow.f64 (pow.f64 re -3/2) 1/3)
(pow.f64 re -1/2)
(pow.f64 (cbrt.f64 re) -3/2)
(pow.f64 (/.f64 1 (cbrt.f64 re)) 3/2)
(pow.f64 (pow.f64 re -1/6) 3)
(pow.f64 re -1/2)
(pow.f64 (sqrt.f64 re) -1)
(pow.f64 re -1/2)
(pow.f64 (pow.f64 re -1/4) 2)
(pow.f64 re -1/2)
(pow.f64 (/.f64 (sqrt.f64 re) 1) -1)
(pow.f64 re -1/2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (pow.f64 re -1/2))) 2)) (cbrt.f64 (log.f64 (pow.f64 re -1/2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (log.f64 re))) 2)) (cbrt.f64 (*.f64 -1/2 (log.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (pow.f64 re -1/2)))) (sqrt.f64 (log.f64 (pow.f64 re -1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -1/2 (log.f64 re)))) (sqrt.f64 (*.f64 -1/2 (log.f64 re))))
(fabs.f64 (pow.f64 re -1/2))
(pow.f64 re -1/2)
(log.f64 (exp.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re -1/2))))
(pow.f64 re -1/2)
(cbrt.f64 (pow.f64 re -3/2))
(pow.f64 re -1/2)
(expm1.f64 (log1p.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(log1p.f64 (expm1.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(exp.f64 (log.f64 (pow.f64 re -1/2)))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/2)) 1))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 re) -1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -3/2)) 1/3))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/6)) 3))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) -1))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (log.f64 (pow.f64 re -1/4)) 2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) -1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (log.f64 re) -1) 1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1) 1/2))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (neg.f64 (log.f64 re)) 1/2) 1))
(pow.f64 re -1/2)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 re -1/2)) 1) 1))
(pow.f64 re -1/2)

localize23.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(sqrt.f64 (/.f64 1 re))
0.1b
(*.f64 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im)) (sqrt.f64 (/.f64 1 re)))
0.4b
(*.f64 (sqrt.f64 1/2) im)
0.5b
(*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) im))
Compiler

Compiled 55 to 45 computations (18.2% saved)

series30.0ms (0.5%)

Counts
3 → 0
Calls

12 calls:

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

rewrite93.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
992×pow1_binary64
915×add-log-exp_binary64
915×log1p-expm1-u_binary64
915×expm1-log1p-u_binary64
121×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify38.0ms (0.7%)

Algorithm
egg-herbie
Rules
738×fma-def_binary64
495×log-prod_binary64
446×unswap-sqr_binary64
255×distribute-rgt-in_binary64
252×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
096245
1198245
2854245
34947244
Stop Event
node limit
Counts
43 → 52
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 im)) 1)
(pow.f64 im 1)
(pow.f64 (pow.f64 im 3) 1/3)
(pow.f64 (cbrt.f64 im) 3)
(pow.f64 (sqrt.f64 im) 2)
(sqrt.f64 (*.f64 im im))
(log.f64 (exp.f64 im))
(log.f64 (+.f64 1 (expm1.f64 im)))
(cbrt.f64 (pow.f64 im 3))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) (*.f64 2 (sqrt.f64 2))))
(expm1.f64 (log1p.f64 im))
(log1p.f64 (expm1.f64 im))
(exp.f64 (log.f64 im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im))) 1)
(pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) im)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) im)) 2)
(sqrt.f64 (*.f64 1/2 (*.f64 im im)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) im))))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3))
(cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (sqrt.f64 1/2))))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) im)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(sqrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 im 3) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(-.f64 (exp.f64 (log1p.f64 im)) 1)
im
(pow.f64 im 1)
im
(pow.f64 (pow.f64 im 3) 1/3)
im
(pow.f64 (cbrt.f64 im) 3)
im
(pow.f64 (sqrt.f64 im) 2)
im
(sqrt.f64 (*.f64 im im))
im
(log.f64 (exp.f64 im))
im
(log.f64 (+.f64 1 (expm1.f64 im)))
im
(cbrt.f64 (pow.f64 im 3))
im
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3)))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3)))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) (*.f64 2 (sqrt.f64 2))))
(cbrt.f64 (*.f64 (*.f64 2 (sqrt.f64 2)) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3)))
(cbrt.f64 (*.f64 2 (*.f64 (sqrt.f64 2) (pow.f64 (*.f64 im (sqrt.f64 1/2)) 3))))
(expm1.f64 (log1p.f64 im))
im
(log1p.f64 (expm1.f64 im))
im
(exp.f64 (log.f64 im))
im
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im))) 1)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (*.f64 (sqrt.f64 1/2) im) 1)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3) 1/3)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (cbrt.f64 (*.f64 (sqrt.f64 1/2) im)) 3)
(*.f64 im (sqrt.f64 1/2))
(pow.f64 (sqrt.f64 (*.f64 (sqrt.f64 1/2) im)) 2)
(*.f64 im (sqrt.f64 1/2))
(sqrt.f64 (*.f64 1/2 (*.f64 im im)))
(sqrt.f64 (*.f64 (*.f64 im im) 1/2))
(sqrt.f64 (*.f64 im (*.f64 im 1/2)))
(fabs.f64 (*.f64 im (sqrt.f64 1/2)))
(log.f64 (pow.f64 (exp.f64 im) (sqrt.f64 1/2)))
(*.f64 im (sqrt.f64 1/2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sqrt.f64 1/2) im))))
(*.f64 im (sqrt.f64 1/2))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 1/2) im) 3))
(*.f64 im (sqrt.f64 1/2))
(cbrt.f64 (*.f64 (*.f64 1/2 (sqrt.f64 1/2)) (pow.f64 im 3)))
(*.f64 im (sqrt.f64 1/2))
(cbrt.f64 (*.f64 (pow.f64 im 3) (*.f64 1/2 (sqrt.f64 1/2))))
(*.f64 im (sqrt.f64 1/2))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 1/2) im)))
(*.f64 im (sqrt.f64 1/2))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 1/2) im)))
(*.f64 im (sqrt.f64 1/2))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 1/2) im)))
(*.f64 im (sqrt.f64 1/2))
(-.f64 (exp.f64 (log1p.f64 (/.f64 im (sqrt.f64 re)))) 1)
(/.f64 im (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(/.f64 im (sqrt.f64 re))
(sqrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 2))
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (*.f64 (pow.f64 im 3) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) (/.f64 re (pow.f64 im 3))))
(cbrt.f64 (/.f64 (pow.f64 im 3) (/.f64 re (pow.f64 re -1/2))))
(cbrt.f64 (*.f64 (/.f64 (pow.f64 re -1/2) re) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (/.f64 (pow.f64 re -1/2) re)))
(cbrt.f64 (/.f64 (pow.f64 re -1/2) (/.f64 re (pow.f64 im 3))))
(cbrt.f64 (/.f64 (pow.f64 im 3) (/.f64 re (pow.f64 re -1/2))))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(/.f64 im (sqrt.f64 re))

eval386.0ms (6.8%)

Compiler

Compiled 14732 to 11214 computations (23.9% saved)

prune274.0ms (4.8%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New6128620
Fresh314
Picked101
Done235
Total61812630
Error
0.0b
Counts
630 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
48.2b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
48.0b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
48.0b
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 1 re))))
31.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
48.0b
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))))
48.0b
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
30.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
54.7b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
43.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
32.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
41.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
Compiler

Compiled 232 to 190 computations (18.1% saved)

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 16 computations (48.4% saved)

series7.0ms (0.1%)

Counts
2 → 16
Calls

12 calls:

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

rewrite46.0ms (0.8%)

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 im re)) (sqrt.f64 2))
(sqrt.f64 (-.f64 im re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 im re) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (-.f64 im re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 im re) 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 im re) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sqrt.f64 (-.f64 im re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) (cbrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 im re)) (cbrt.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (-.f64 im re) 1/4) (pow.f64 (-.f64 im re) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 im re)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 im re)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (pow.f64 im 3) (pow.f64 re 3))) (sqrt.f64 (fma.f64 im im (*.f64 re (+.f64 im re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 im im) (*.f64 re re))) (sqrt.f64 (+.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 im re) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 im re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 im re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 im re) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (-.f64 im re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 im re) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 im re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (-.f64 im re))))))))

simplify52.0ms (0.9%)

Algorithm
egg-herbie
Rules
553×associate-*l*_binary64
548×fma-def_binary64
545×associate-*r*_binary64
356×log-prod_binary64
254×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

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

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series3.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite52.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
533×pow1_binary64
511×add-sqr-sqrt_binary64
496×add-log-exp_binary64
496×log1p-expm1-u_binary64
496×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify37.0ms (0.7%)

Algorithm
egg-herbie
Rules
522×log-prod_binary64
412×associate-*l*_binary64
383×associate-*r*_binary64
314×fma-def_binary64
262×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083484
1192418
2609364
34020352
Stop Event
node limit
Counts
42 → 44
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 re))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/4)))
(/.f64 im (pow.f64 re 1/2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 im (*.f64 (pow.f64 re 1/4) (pow.f64 re 1/4)))
(/.f64 im (pow.f64 re 1/2))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (/.f64 im (/.f64 re im)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))

localize16.0ms (0.3%)

Compiler

Compiled 28 to 23 computations (17.9% saved)

localize19.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 40 to 24 computations (40% saved)

series22.0ms (0.4%)

Counts
2 → 32
Calls

12 calls:

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

rewrite71.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
947×pow1_binary64
890×add-log-exp_binary64
889×log1p-expm1-u_binary64
889×expm1-log1p-u_binary64
100×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify93.0ms (1.6%)

Algorithm
egg-herbie
Rules
437×associate-/l*_binary64
429×times-frac_binary64
276×distribute-rgt-in_binary64
272×associate-/r*_binary64
268×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02992212
17972055
226981818
379881818
Stop Event
node limit
Counts
77 → 172
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 re) (sqrt.f64 -2))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2))))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 -8) (pow.f64 im 3)))) (+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2)))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 re 3)) (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (*.f64 -9/16 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3))))) (pow.f64 im 3))))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(+.f64 (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1)
(*.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) (cbrt.f64 (*.f64 (-.f64 im re) 2)))
(*.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 3/2)) (cbrt.f64 (pow.f64 2 3/2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2)))) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2))))
(*.f64 (pow.f64 1 1/3) (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(*.f64 (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/3) (pow.f64 (pow.f64 2 3/2) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/4) 1/3) (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/4) 1/3))
(pow.f64 (*.f64 (-.f64 im re) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)
(sqrt.f64 (*.f64 (-.f64 im re) 2))
(fabs.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))) 1)
(*.f64 (*.f64 (-.f64 im re) 2) (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2) 1)
(*.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) (*.f64 (-.f64 im re) 2))
(*.f64 1 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))
(*.f64 (pow.f64 (-.f64 im re) 3/2) (pow.f64 2 3/2))
(*.f64 (pow.f64 2 3/2) (pow.f64 (-.f64 im re) 3/2))
(*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/4) (pow.f64 (*.f64 (-.f64 im re) 2) 3/4))
(*.f64 (pow.f64 1 3/2) (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2))) 3/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2)) 3/2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3/2) (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3/2))
(*.f64 (*.f64 (*.f64 (-.f64 im re) 2) (cbrt.f64 (*.f64 (-.f64 im re) 2))) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(*.f64 (*.f64 (*.f64 (-.f64 im re) 2) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3))
(log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(exp.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 im re) 2))))
Outputs
(*.f64 (sqrt.f64 re) (sqrt.f64 -2))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))))
(fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 re) (sqrt.f64 -2)))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 (sqrt.f64 -2) -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 im (/.f64 (sqrt.f64 -2) im))))))
(+.f64 (*.f64 (sqrt.f64 re) (sqrt.f64 -2)) (+.f64 (*.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))) (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 im 2) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 -1/2 (*.f64 (/.f64 (*.f64 im im) (pow.f64 (sqrt.f64 -2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 1/2 (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 (sqrt.f64 -2) 5) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 (sqrt.f64 -2) -2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2))))))
(fma.f64 (sqrt.f64 re) (sqrt.f64 -2) (fma.f64 1/2 (*.f64 (/.f64 (pow.f64 im 3) (pow.f64 (sqrt.f64 -2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) (fma.f64 (sqrt.f64 (/.f64 1 re)) (/.f64 im (sqrt.f64 -2)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 1/4 (/.f64 im (/.f64 (sqrt.f64 -2) im)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(-.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))))
(-.f64 (fma.f64 (*.f64 -1/2 (*.f64 (/.f64 re (sqrt.f64 2)) (/.f64 re 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(-.f64 (fma.f64 (*.f64 -1/4 (/.f64 re (/.f64 (sqrt.f64 2) re))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im))))
(+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 -1 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 -1/2 (*.f64 (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 2) 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (neg.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 -1/2 (*.f64 (*.f64 (/.f64 re (sqrt.f64 2)) (/.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) (-.f64 (fma.f64 -1/2 (*.f64 (/.f64 (pow.f64 re 3) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(fma.f64 (*.f64 -1/4 (/.f64 re (/.f64 (sqrt.f64 2) re))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (-.f64 (fma.f64 (/.f64 (*.f64 -1/2 (pow.f64 re 3)) (pow.f64 (sqrt.f64 2) 5)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))) (*.f64 (/.f64 re (sqrt.f64 2)) (sqrt.f64 (/.f64 1 im)))))
(*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8))
(*.f64 (fabs.f64 (pow.f64 re 3/2)) (sqrt.f64 -8))
(*.f64 (sqrt.f64 -8) (pow.f64 re 3/2))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)))
(fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)))
(fma.f64 (fabs.f64 (pow.f64 re 3/2)) (sqrt.f64 -8) (*.f64 (*.f64 (*.f64 (sqrt.f64 re) -3/2) (sqrt.f64 -8)) im))
(*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 (*.f64 (sqrt.f64 re) -3/2) im)))
(+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2))))))
(fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) (sqrt.f64 -8))))))
(fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (fma.f64 (fabs.f64 (pow.f64 re 3/2)) (sqrt.f64 -8) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im (*.f64 im (sqrt.f64 -8))) 3/8))))
(fma.f64 -3/2 (*.f64 (*.f64 (sqrt.f64 re) im) (sqrt.f64 -8)) (*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 3/8) (*.f64 im im)))))
(+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (sqrt.f64 -8) (pow.f64 im 3)))) (+.f64 (*.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 -8) im))) (+.f64 (*.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8)) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (sqrt.f64 -8) (pow.f64 im 2)))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 3) (sqrt.f64 -8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (fma.f64 (sqrt.f64 (pow.f64 re 3)) (sqrt.f64 -8) (*.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im im) (sqrt.f64 -8)))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (pow.f64 im 3) (sqrt.f64 -8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 re) (*.f64 im (sqrt.f64 -8))) (fma.f64 (fabs.f64 (pow.f64 re 3/2)) (sqrt.f64 -8) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (*.f64 im (*.f64 im (sqrt.f64 -8))) 3/8)))))
(+.f64 (*.f64 (sqrt.f64 -8) (+.f64 (pow.f64 re 3/2) (*.f64 (*.f64 (sqrt.f64 re) -3/2) im))) (*.f64 (sqrt.f64 -8) (+.f64 (*.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) 3/8) (*.f64 im im)) (*.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) 1/16) (pow.f64 im 3)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))
(*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2))
(+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))
(fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))))
(+.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) im) (/.f64 (*.f64 (*.f64 re re) 3/8) im)))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2)))) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 2)) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 re 3)) (+.f64 (*.f64 -1/2 (pow.f64 re 3)) (*.f64 -9/16 (pow.f64 re 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) (pow.f64 im 3)) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 re (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im))))))) im)) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 1 im)))))))))
(+.f64 (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (+.f64 (fma.f64 -3/2 (/.f64 re (/.f64 im (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im))))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))) (/.f64 (fma.f64 9/8 (pow.f64 re 3) (*.f64 (pow.f64 re 3) -17/16)) (/.f64 (pow.f64 im 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (neg.f64 (log.f64 im)))))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im)))) (+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))) im) (/.f64 (*.f64 (*.f64 re re) 3/8) im)) (*.f64 (/.f64 (*.f64 (pow.f64 re 3) 1/16) (pow.f64 im 3)) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (log.f64 im))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 im 3/2)) im) (+.f64 (/.f64 (*.f64 re re) (/.f64 im 3/8)) (/.f64 (/.f64 (pow.f64 re 3) (/.f64 im 1/16)) im))))
(exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))
(pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))
(*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 im re))))
(fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) im) re) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))))
(fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2))) (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2))))) (pow.f64 im 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im))))
(+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 im re))) (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2)))))))
(+.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) im) re) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) (*.f64 im im)) (*.f64 (*.f64 re re) 3/8))))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))
(+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/4 (pow.f64 re 2)) (*.f64 9/8 (pow.f64 re 2)))) (pow.f64 im 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) re) im)) (*.f64 -1 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 im))) (log.f64 -2)))) (+.f64 (*.f64 -9/8 (pow.f64 re 3)) (+.f64 (*.f64 9/16 (pow.f64 re 3)) (*.f64 1/2 (pow.f64 re 3))))) (pow.f64 im 3))))))
(+.f64 (/.f64 (*.f64 (*.f64 re re) 3/8) (/.f64 (*.f64 im im) (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))))) (+.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (fma.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 im re)) (neg.f64 (/.f64 (pow.f64 (exp.f64 3/2) (fma.f64 -1 (log.f64 (/.f64 -1 im)) (log.f64 -2))) (/.f64 (pow.f64 im 3) (fma.f64 -9/8 (pow.f64 re 3) (*.f64 (pow.f64 re 3) 17/16))))))))
(+.f64 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) (*.f64 im im)) (*.f64 (*.f64 re re) 3/8)) (-.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) im) re) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im))))) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 -2) (log.f64 (/.f64 -1 im)))) (/.f64 (pow.f64 im 3) (*.f64 (pow.f64 re 3) -1/16)))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (pow.f64 im 3)) (neg.f64 (*.f64 (pow.f64 re 3) -1/16)))) (*.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2))))
(+.f64 (*.f64 -3/2 (*.f64 (/.f64 re im) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)))) (fma.f64 (+.f64 (*.f64 (/.f64 (*.f64 re re) im) (/.f64 3/8 im)) 1) (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (*.f64 (/.f64 (*.f64 (pow.f64 -2 3/2) (pow.f64 (/.f64 -1 im) -3/2)) (pow.f64 im 3)) (neg.f64 (*.f64 (pow.f64 re 3) -1/16)))))
(*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))
(*.f64 (sqrt.f64 8) (pow.f64 im 3/2))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 8) (sqrt.f64 im))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))
(+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 8) (sqrt.f64 im))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3)))))
(fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2))))
(+.f64 (*.f64 1/16 (*.f64 (*.f64 (pow.f64 re 3) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 -3/2 (*.f64 (*.f64 re (sqrt.f64 8)) (sqrt.f64 im))) (+.f64 (*.f64 3/8 (*.f64 (*.f64 (pow.f64 re 2) (sqrt.f64 8)) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 1/16 (*.f64 (pow.f64 re 3) (*.f64 (sqrt.f64 8) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 8) (sqrt.f64 im))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 (sqrt.f64 im) (*.f64 re (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (sqrt.f64 (pow.f64 im 3))))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 (pow.f64 re 3) (sqrt.f64 8))) (fma.f64 -3/2 (*.f64 re (*.f64 (sqrt.f64 im) (sqrt.f64 8))) (fma.f64 3/8 (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 re re) (sqrt.f64 8))) (*.f64 (sqrt.f64 8) (pow.f64 im 3/2)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re)))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re)))
(*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im))))
(fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))))) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))))
(fma.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im))) (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 (*.f64 im im) 3/8)) (*.f64 re re))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) (fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) re) (/.f64 (*.f64 im (*.f64 im 3/8)) re))))
(+.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)) (fma.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))) (*.f64 (/.f64 (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2)) re) (/.f64 im (/.f64 re (*.f64 im 3/8))))))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 3)) (+.f64 (*.f64 -1/2 (pow.f64 im 3)) (*.f64 -9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re))))))) (pow.f64 re 3)) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2)))) (pow.f64 re 2)) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 -2) (*.f64 -1 (log.f64 (/.f64 1 re)))))) im) re)))))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (+.f64 (+.f64 (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (/.f64 re im))) (/.f64 (*.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re))))) (*.f64 (*.f64 im im) 3/8)) (*.f64 re re))) (/.f64 (fma.f64 9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) -17/16)) (/.f64 (pow.f64 re 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (neg.f64 (neg.f64 (log.f64 re)))))))))
(+.f64 (fma.f64 -3/2 (/.f64 im (/.f64 re (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))))) (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) re) (/.f64 (*.f64 im (*.f64 im 3/8)) re))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 -2) (log.f64 re))) (/.f64 (pow.f64 re 3) (*.f64 (pow.f64 im 3) 1/16)))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))) (*.f64 (pow.f64 re 3/2) (pow.f64 -2 3/2))) (*.f64 (*.f64 (/.f64 (pow.f64 -2 3/2) re) (/.f64 (pow.f64 re 3/2) re)) (+.f64 (*.f64 im (*.f64 im 3/8)) (/.f64 (pow.f64 im 3) (/.f64 re 1/16)))))
(exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))
(pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re)))))
(pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))
(*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))
(+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))
(+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im))))
(fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re) im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))
(fma.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2)))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re))))
(+.f64 (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im)))) (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re) im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re)))
(+.f64 (/.f64 (*.f64 im -3/2) (/.f64 (/.f64 re (pow.f64 2 3/2)) (pow.f64 (/.f64 -1 re) -3/2))) (*.f64 (+.f64 (*.f64 (/.f64 im re) (/.f64 (*.f64 im 3/8) re)) 1) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))))
(+.f64 (/.f64 (*.f64 (+.f64 (*.f64 9/8 (pow.f64 im 2)) (*.f64 -3/4 (pow.f64 im 2))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 2)) (+.f64 (*.f64 -1 (/.f64 (*.f64 (+.f64 (*.f64 -9/8 (pow.f64 im 3)) (+.f64 (*.f64 1/2 (pow.f64 im 3)) (*.f64 9/16 (pow.f64 im 3)))) (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re))))))) (pow.f64 re 3))) (+.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) (*.f64 -3/2 (/.f64 (*.f64 (exp.f64 (*.f64 3/2 (+.f64 (log.f64 2) (*.f64 -1 (log.f64 (/.f64 -1 re)))))) im) re)))))
(+.f64 (/.f64 (*.f64 (*.f64 im im) 3/8) (/.f64 (*.f64 re re) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (fma.f64 -1 (/.f64 (fma.f64 -9/8 (pow.f64 im 3) (*.f64 (pow.f64 im 3) 17/16)) (/.f64 (pow.f64 re 3) (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))))) (+.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (*.f64 -3/2 (/.f64 (pow.f64 (exp.f64 3/2) (+.f64 (log.f64 2) (neg.f64 (log.f64 (/.f64 -1 re))))) (/.f64 re im))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re) im) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re))))) (-.f64 (*.f64 (/.f64 (*.f64 im (*.f64 im 3/8)) re) (/.f64 (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))) re)) (*.f64 (/.f64 (*.f64 (pow.f64 im 3) -1/16) (pow.f64 re 3)) (pow.f64 (exp.f64 3/2) (-.f64 (log.f64 2) (log.f64 (/.f64 -1 re)))))))
(+.f64 (fma.f64 -3/2 (*.f64 (/.f64 im re) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))) (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2))) (*.f64 (*.f64 (pow.f64 2 3/2) (pow.f64 (/.f64 -1 re) -3/2)) (-.f64 (*.f64 (/.f64 im re) (/.f64 (*.f64 im 3/8) re)) (/.f64 (pow.f64 im 3) (/.f64 (pow.f64 re 3) -1/16)))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) (cbrt.f64 (*.f64 (-.f64 im re) 2)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (-.f64 im re)))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 3/2)) (cbrt.f64 (pow.f64 2 3/2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2)))) (sqrt.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2)))) (sqrt.f64 (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (pow.f64 1 1/3) (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(*.f64 (pow.f64 (pow.f64 (-.f64 im re) 3/2) 1/3) (pow.f64 (pow.f64 2 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (-.f64 im re) 3/2)) (cbrt.f64 (pow.f64 2 3/2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/4) 1/3) (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/4) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/4)) (cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/4)))
(pow.f64 (*.f64 (-.f64 im re) 2) 1/2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (-.f64 im re)) 3/2))
(pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 1)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 3)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))) 2)
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(sqrt.f64 (*.f64 (-.f64 im re) 2))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(sqrt.f64 (*.f64 2 (-.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))) 1)
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 (*.f64 (-.f64 im re) 2) (sqrt.f64 (*.f64 (-.f64 im re) 2)))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2) 1)
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) (*.f64 (-.f64 im re) 2))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 1 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 (pow.f64 (-.f64 im re) 3/2) (pow.f64 2 3/2))
(*.f64 (pow.f64 2 3/2) (pow.f64 (-.f64 im re) 3/2))
(*.f64 (pow.f64 (-.f64 im re) 3/2) (pow.f64 2 3/2))
(*.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/4) (pow.f64 (*.f64 (-.f64 im re) 2) 3/4))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 (pow.f64 1 3/2) (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2))) 3/2) (pow.f64 (cbrt.f64 (*.f64 (-.f64 im re) 2)) 3/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (pow.f64 (-.f64 im re) 2))) 3/2) (pow.f64 (cbrt.f64 (*.f64 2 (-.f64 im re))) 3/2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3/2) (pow.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)) 3/2))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(*.f64 (*.f64 (*.f64 (-.f64 im re) 2) (cbrt.f64 (*.f64 (-.f64 im re) 2))) (cbrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(*.f64 (*.f64 2 (-.f64 im re)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (*.f64 2 (-.f64 im re)))))
(*.f64 (-.f64 im re) (*.f64 (*.f64 2 (cbrt.f64 (*.f64 2 (-.f64 im re)))) (cbrt.f64 (sqrt.f64 (*.f64 2 (-.f64 im re))))))
(*.f64 (*.f64 (*.f64 (-.f64 im re) 2) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2)))) (sqrt.f64 (sqrt.f64 (*.f64 (-.f64 im re) 2))))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(sqrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(log.f64 (exp.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2))))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2) 3))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)
(exp.f64 (*.f64 3/2 (log.f64 (*.f64 (-.f64 im re) 2))))
(pow.f64 (*.f64 2 (-.f64 im re)) 3/2)

localize10.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 im (sqrt.f64 re))
0.3b
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
2.3b
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
Compiler

Compiled 33 to 13 computations (60.6% saved)

series67.0ms (1.2%)

Counts
2 → 24
Calls

12 calls:

TimeVariablePointExpression
47.0ms
re
@0
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
6.0ms
re
@inf
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
4.0ms
re
@-inf
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
2.0ms
im
@-inf
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
1.0ms
im
@inf
(cbrt.f64 (/.f64 im (sqrt.f64 re)))

rewrite47.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
708×pow1_binary64
668×add-log-exp_binary64
668×log1p-expm1-u_binary64
668×expm1-log1p-u_binary64
650×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify76.0ms (1.3%)

Algorithm
egg-herbie
Rules
748×times-frac_binary64
520×associate-/l*_binary64
461×fma-neg_binary64
439×fma-def_binary64
395×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01791347
13831157
214451040
368431040
Stop Event
node limit
Counts
96 → 100
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 1)
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 1 (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 im) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 im) (pow.f64 (pow.f64 re -1/2) 1/3))
(*.f64 (cbrt.f64 im) (/.f64 1 (cbrt.f64 (sqrt.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3) (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3))
(/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 1 (/.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 im)))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (neg.f64 (cbrt.f64 im)) (neg.f64 (cbrt.f64 (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 2)
(sqrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) 3) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3) (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 im)) (cbrt.f64 (sqrt.f64 re)))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (sqrt.f64 1) (*.f64 (pow.f64 (/.f64 1 re) 1/6) (pow.f64 im 1/3)))
(*.f64 (pow.f64 (/.f64 1 re) 1/6) (cbrt.f64 im))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (pow.f64 (/.f64 (*.f64 1 im) (sqrt.f64 -1)) 1/3))
(*.f64 (pow.f64 (/.f64 -1 re) 1/6) (cbrt.f64 (/.f64 im (sqrt.f64 -1))))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 (pow.f64 1 1/6) (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 1 (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(-.f64 (+.f64 1 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 1 (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 im) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 im) (pow.f64 (pow.f64 re -1/2) 1/3))
(*.f64 (cbrt.f64 im) (cbrt.f64 (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 im) (/.f64 1 (cbrt.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (cbrt.f64 im) 1) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1/3) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3) (pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re)))))
(/.f64 1 (cbrt.f64 (/.f64 (sqrt.f64 re) im)))
(/.f64 1 (/.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 im)))
(/.f64 (*.f64 (cbrt.f64 im) 1) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 im) 1) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 (neg.f64 im)) (cbrt.f64 (neg.f64 (sqrt.f64 re))))
(/.f64 (neg.f64 (cbrt.f64 im)) (neg.f64 (cbrt.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (cbrt.f64 im) 1) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(sqrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)))
(sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))
(log.f64 (exp.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(log1p.f64 (expm1.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(+.f64 1 (-.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 1))
(+.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 0)
(cbrt.f64 (/.f64 im (sqrt.f64 re)))
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))) 4))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 4))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (pow.f64 re -1/2)))
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (*.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 re -1/2) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) 3) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3) (pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) 1) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)))) (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 im im) re))) (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (cbrt.f64 (/.f64 (*.f64 im im) re))))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))) 4))
(*.f64 (cbrt.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 4))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6)) (pow.f64 (/.f64 im (sqrt.f64 re)) 1/6))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(/.f64 im (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 re) im) 1))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 (sqrt.f64 re) (cbrt.f64 im)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (sqrt.f64 im) (/.f64 (sqrt.f64 re) (sqrt.f64 im)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 im) (neg.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 -1 (neg.f64 (/.f64 (sqrt.f64 re) im)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (neg.f64 (neg.f64 im)) (neg.f64 (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im (pow.f64 re 1/4)) (pow.f64 re 1/4))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im 1) (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
(/.f64 (*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 (*.f64 im im) re))) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (/.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(/.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 im)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (/.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 im)))
(*.f64 (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (cbrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (*.f64 (/.f64 im re) im))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))

eval229.0ms (4%)

Compiler

Compiled 9798 to 6962 computations (28.9% saved)

prune107.0ms (1.9%)

Pruning

11 alts after pruning (3 fresh and 8 done)

PrunedKeptTotal
New4603463
Fresh404
Picked011
Done077
Total46411475
Error
0b
Counts
475 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
48.2b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
48.1b
(*.f64 1/2 (/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re))))
48.0b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
48.0b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
31.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
53.1b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) im)))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
30.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
43.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
32.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
41.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
Compiler

Compiled 113 to 90 computations (20.4% saved)

localize39.0ms (0.7%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

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

rewrite47.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
647×pow1_binary64
600×add-log-exp_binary64
600×log1p-expm1-u_binary64
600×expm1-log1p-u_binary64
585×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify43.0ms (0.8%)

Algorithm
egg-herbie
Rules
590×fma-def_binary64
546×log-prod_binary64
489×unswap-sqr_binary64
421×log-div_binary64
300×cube-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0100705
1224642
2816579
34743579
Stop Event
node limit
Counts
80 → 52
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(/.f64 im (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (+.f64 1 (*.f64 im (/.f64 im re))) 1)
(/.f64 im (/.f64 re im))
(/.f64 1 (/.f64 re (*.f64 im im)))
(/.f64 (*.f64 im im) re)
(/.f64 (neg.f64 (*.f64 im im)) (neg.f64 re))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(*.f64 -1 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(neg.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) im))
(*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(*.f64 im (/.f64 im re))
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1/2))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(/.f64 im (sqrt.f64 re))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(pow.f64 (*.f64 im (/.f64 im re)) 1/2)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(fabs.f64 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(-.f64 (+.f64 1 (*.f64 im (/.f64 im re))) 1)
(*.f64 im (/.f64 im re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 1 (/.f64 re (*.f64 im im)))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) re)
(*.f64 im (/.f64 im re))
(/.f64 (neg.f64 (*.f64 im im)) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (neg.f64 im) im) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(*.f64 im (/.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(*.f64 im (/.f64 im re))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))

localize15.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 21 to 14 computations (33.3% saved)

series3.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

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

rewrite36.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
551×pow1_binary64
511×add-log-exp_binary64
511×log1p-expm1-u_binary64
511×expm1-log1p-u_binary64
499×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify45.0ms (0.8%)

Algorithm
egg-herbie
Rules
1119×log-prod_binary64
496×distribute-rgt-in_binary64
488×distribute-lft-in_binary64
383×associate-*l*_binary64
333×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
040207
197207
2334161
32215161
47278161
Stop Event
node limit
Counts
23 → 13
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (*.f64 (pow.f64 re -1/2) im)) 1)
(pow.f64 (*.f64 (pow.f64 re -1/2) im) 1)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 3)
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 re -1/4)) 2)
(sqrt.f64 (*.f64 (*.f64 im im) (pow.f64 re -1)))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) im)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) im)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)))
Outputs
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(-.f64 (+.f64 1 (*.f64 (pow.f64 re -1/2) im)) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (pow.f64 re -1/2) im) 1)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3) 1/3)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 re -1/2) im)) 3)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(pow.f64 (*.f64 (sqrt.f64 im) (pow.f64 re -1/4)) 2)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(sqrt.f64 (*.f64 (*.f64 im im) (pow.f64 re -1)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log.f64 (pow.f64 (exp.f64 im) (pow.f64 re -1/2)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re -1/2) im) 3))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))
(exp.f64 (log.f64 (*.f64 (pow.f64 re -1/2) im)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 im (pow.f64 re -1/2))

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
0.2b
(*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re))
0.3b
(cbrt.f64 (sqrt.f64 re))
0.7b
(cbrt.f64 re)
Compiler

Compiled 36 to 10 computations (72.2% saved)

series32.0ms (0.6%)

Counts
4 → 24
Calls

15 calls:

TimeVariablePointExpression
25.0ms
re
@-inf
(*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re))
2.0ms
re
@-inf
(cbrt.f64 (sqrt.f64 re))
1.0ms
re
@-inf
(/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re)))
1.0ms
re
@-inf
(cbrt.f64 re)
0.0ms
re
@0
(cbrt.f64 re)

rewrite55.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
714×pow1_binary64
667×add-log-exp_binary64
667×log1p-expm1-u_binary64
667×expm1-log1p-u_binary64
647×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify52.0ms (0.9%)

Algorithm
egg-herbie
Rules
531×log-prod_binary64
501×log-div_binary64
461×fma-neg_binary64
429×associate-*l/_binary64
317×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01851106
1401923
21743750
36352750
Stop Event
node limit
Counts
115 → 116
Calls
Call 1
Inputs
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (cbrt.f64 re)) 1)
(*.f64 (cbrt.f64 re) 1)
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 (pow.f64 re 1/6)) (pow.f64 re 1/6)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/6) (pow.f64 re 1/4))
(*.f64 (pow.f64 re 1/4) (pow.f64 (sqrt.f64 re) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (*.f64 (pow.f64 re 1/6) (cbrt.f64 (cbrt.f64 re))) (cbrt.f64 (pow.f64 re 1/6)))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (pow.f64 re 1/6) 2)
(pow.f64 (sqrt.f64 re) 2/3)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(log.f64 (exp.f64 (cbrt.f64 re)))
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 re)))
(-.f64 (+.f64 1 (pow.f64 re 1/6)) 1)
(*.f64 (pow.f64 re 1/6) 1)
(*.f64 1 (pow.f64 re 1/6))
(*.f64 (cbrt.f64 (pow.f64 re 1/6)) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re 1/6)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/6) (pow.f64 (sqrt.f64 re) 1/6))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)) (sqrt.f64 (cbrt.f64 (cbrt.f64 re))))
(*.f64 (pow.f64 1 1/3) (pow.f64 re 1/6))
(*.f64 (pow.f64 (pow.f64 re 1/4) 1/3) (pow.f64 (pow.f64 re 1/4) 1/3))
(pow.f64 re 1/6)
(pow.f64 (cbrt.f64 re) 1/2)
(pow.f64 (pow.f64 re 1/6) 1)
(pow.f64 (sqrt.f64 re) 1/3)
(pow.f64 (cbrt.f64 (pow.f64 re 1/6)) 3)
(pow.f64 (pow.f64 (sqrt.f64 re) 1/6) 2)
(sqrt.f64 (cbrt.f64 re))
(fabs.f64 (pow.f64 re 1/6))
(log.f64 (exp.f64 (pow.f64 re 1/6)))
(expm1.f64 (log1p.f64 (pow.f64 re 1/6)))
(log1p.f64 (expm1.f64 (pow.f64 re 1/6)))
(exp.f64 (log.f64 (pow.f64 re 1/6)))
(-.f64 (+.f64 1 (sqrt.f64 re)) 1)
(pow.f64 re 1/2)
(pow.f64 (pow.f64 re 1/6) 3)
(pow.f64 (sqrt.f64 re) 1)
(pow.f64 (pow.f64 re 1/4) 2)
(pow.f64 (pow.f64 re 3/2) 1/3)
(sqrt.f64 re)
(fabs.f64 (sqrt.f64 re))
(log.f64 (exp.f64 (sqrt.f64 re)))
(cbrt.f64 (pow.f64 re 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 re)))
(log1p.f64 (expm1.f64 (sqrt.f64 re)))
(exp.f64 (log.f64 (sqrt.f64 re)))
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (/.f64 1 (sqrt.f64 re)))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (/.f64 1 (sqrt.f64 re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re))))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(*.f64 (/.f64 im (pow.f64 re 1/6)) (/.f64 1 (cbrt.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (pow.f64 re 1/6)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (pow.f64 re 1/6)))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 re 1/6)) (/.f64 (sqrt.f64 im) (cbrt.f64 re)))
(*.f64 (/.f64 1 (pow.f64 re 1/6)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/6)) (/.f64 (cbrt.f64 im) (cbrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(pow.f64 re 1/6)
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 re) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 re) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 re) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (pow.f64 (*.f64 -1 re) 1/6) (pow.f64 (*.f64 (sqrt.f64 -1) 1) 1/3))
(*.f64 (pow.f64 (neg.f64 re) 1/6) (cbrt.f64 (sqrt.f64 -1)))
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(*.f64 (sqrt.f64 (/.f64 1 re)) im)
(-.f64 (+.f64 1 (cbrt.f64 re)) 1)
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(*.f64 (cbrt.f64 re) 1)
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(*.f64 1 (cbrt.f64 re))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (*.f64 (cbrt.f64 (pow.f64 re 1/6)) (pow.f64 re 1/6)))
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re 1/6))) (pow.f64 re 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (pow.f64 re 1/6)) 4))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(*.f64 (pow.f64 (sqrt.f64 re) 1/6) (pow.f64 re 1/4))
(*.f64 (pow.f64 re 1/4) (pow.f64 (sqrt.f64 re) 1/6))
(*.f64 (pow.f64 (sqrt.f64 re) 1/6) (pow.f64 re 1/4))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 (cbrt.f64 re) 2)))
(*.f64 (*.f64 (pow.f64 re 1/6) (cbrt.f64 (cbrt.f64 re))) (cbrt.f64 (pow.f64 re 1/6)))
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re 1/6))) (pow.f64 re 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (pow.f64 re 1/6)) 4))
(pow.f64 re 1/3)
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(pow.f64 (cbrt.f64 re) 1)
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(pow.f64 (pow.f64 re 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(pow.f64 (sqrt.f64 re) 2/3)
(*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(pow.f64 (pow.f64 (sqrt.f64 re) 1/6) 4)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(log.f64 (exp.f64 (cbrt.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(exp.f64 (log.f64 (cbrt.f64 re)))
(+.f64 1 (-.f64 (cbrt.f64 re) 1))
(+.f64 (cbrt.f64 re) 0)
(cbrt.f64 re)
(-.f64 (+.f64 1 (pow.f64 re 1/6)) 1)
(pow.f64 re 1/6)
(*.f64 (pow.f64 re 1/6) 1)
(pow.f64 re 1/6)
(*.f64 1 (pow.f64 re 1/6))
(pow.f64 re 1/6)
(*.f64 (cbrt.f64 (pow.f64 re 1/6)) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re 1/6)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (pow.f64 re 1/6)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/6) (pow.f64 (sqrt.f64 re) 1/6))
(cbrt.f64 (sqrt.f64 re))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2)) (sqrt.f64 (cbrt.f64 (cbrt.f64 re))))
(*.f64 (fabs.f64 (cbrt.f64 (cbrt.f64 re))) (sqrt.f64 (cbrt.f64 (cbrt.f64 re))))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (sqrt.f64 (cbrt.f64 (cbrt.f64 re))))
(*.f64 (pow.f64 1 1/3) (pow.f64 re 1/6))
(pow.f64 re 1/6)
(*.f64 (pow.f64 (pow.f64 re 1/4) 1/3) (pow.f64 (pow.f64 re 1/4) 1/3))
(*.f64 (cbrt.f64 (pow.f64 re 1/4)) (cbrt.f64 (pow.f64 re 1/4)))
(pow.f64 re 1/6)
(pow.f64 (cbrt.f64 re) 1/2)
(pow.f64 re 1/6)
(pow.f64 (pow.f64 re 1/6) 1)
(pow.f64 re 1/6)
(pow.f64 (sqrt.f64 re) 1/3)
(cbrt.f64 (sqrt.f64 re))
(pow.f64 (cbrt.f64 (pow.f64 re 1/6)) 3)
(pow.f64 re 1/6)
(pow.f64 (pow.f64 (sqrt.f64 re) 1/6) 2)
(cbrt.f64 (sqrt.f64 re))
(sqrt.f64 (cbrt.f64 re))
(pow.f64 re 1/6)
(fabs.f64 (pow.f64 re 1/6))
(pow.f64 re 1/6)
(log.f64 (exp.f64 (pow.f64 re 1/6)))
(pow.f64 re 1/6)
(expm1.f64 (log1p.f64 (pow.f64 re 1/6)))
(pow.f64 re 1/6)
(log1p.f64 (expm1.f64 (pow.f64 re 1/6)))
(pow.f64 re 1/6)
(exp.f64 (log.f64 (pow.f64 re 1/6)))
(pow.f64 re 1/6)
(-.f64 (+.f64 1 (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(pow.f64 re 1/2)
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(pow.f64 (pow.f64 re 1/6) 3)
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(pow.f64 (sqrt.f64 re) 1)
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(pow.f64 (pow.f64 re 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(pow.f64 (pow.f64 re 3/2) 1/3)
(cbrt.f64 (pow.f64 re 3/2))
(sqrt.f64 re)
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(fabs.f64 (sqrt.f64 re))
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(log.f64 (exp.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(cbrt.f64 (pow.f64 re 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(log1p.f64 (expm1.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(exp.f64 (log.f64 (sqrt.f64 re)))
(+.f64 1 (-.f64 (sqrt.f64 re) 1))
(+.f64 (sqrt.f64 re) 0)
(sqrt.f64 re)
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 im (/.f64 1 (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 1 (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 (*.f64 im im) re)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (/.f64 im (/.f64 re im))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (/.f64 1 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (/.f64 1 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (sqrt.f64 re)) im)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 im (pow.f64 re 1/6)) (/.f64 1 (cbrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (cbrt.f64 re)) (/.f64 im (pow.f64 re 1/6)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (pow.f64 re 1/6)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 re 1/6)) (/.f64 (sqrt.f64 im) (cbrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (pow.f64 re 1/6)) (/.f64 im (cbrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/6)) (/.f64 (cbrt.f64 im) (cbrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) 2)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(pow.f64 (/.f64 (sqrt.f64 re) im) -1)
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(neg.f64 (/.f64 im (neg.f64 (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(sqrt.f64 (/.f64 (*.f64 im im) re))
(sqrt.f64 (/.f64 im (/.f64 re im)))
(sqrt.f64 (*.f64 (/.f64 im re) im))
(log.f64 (exp.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 re 3/2)))
(expm1.f64 (log1p.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (/.f64 im (sqrt.f64 re)) 1))
(+.f64 (/.f64 im (sqrt.f64 re)) 0)
(/.f64 im (sqrt.f64 re))

eval56.0ms (1%)

Compiler

Compiled 2040 to 1124 computations (44.9% saved)

prune32.0ms (0.6%)

Pruning

11 alts after pruning (0 fresh and 11 done)

PrunedKeptTotal
New1810181
Fresh000
Picked011
Done01010
Total18111192
Error
0b
Counts
192 → 11
Alt Table
Click to see full alt table
StatusErrorProgram
48.2b
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
48.1b
(*.f64 1/2 (/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re))))
48.0b
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
48.0b
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
31.0b
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
53.1b
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) im)))
13.6b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
30.8b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
43.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
32.9b
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
41.6b
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
Compiler

Compiled 113 to 90 computations (20.4% saved)

regimes156.0ms (2.7%)

Counts
22 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
(*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))
(*.f64 1/2 (*.f64 (pow.f64 re -1/2) im))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re))))
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 1/2 (/.f64 (*.f64 im im) re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (*.f64 im im) (/.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 im re)) (sqrt.f64 2)))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 im re) 2) 3/2)))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1/2 re)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3))
(*.f64 1/2 (/.f64 im (*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 im) 2) (sqrt.f64 (/.f64 1 re))))
(*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (hypot.f64 re im) re) 2) 3/2)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (*.f64 (sqrt.f64 1/2) (sqrt.f64 (/.f64 1 re))))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (sqrt.f64 1/2) (*.f64 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 (sqrt.f64 (*.f64 2 (fma.f64 1/2 (*.f64 (/.f64 im re) im) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 1/16 (pow.f64 im 6)) (pow.f64 re 5)))))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re))))
(*.f64 1/2 (/.f64 im (sqrt.f64 re)))
Calls

7 calls:

36.0ms
re
31.0ms
im
22.0ms
(*.f64 im im)
16.0ms
(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
15.0ms
(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
Results
ErrorSegmentsBranch
6.4b2re
12.4b3im
7.3b2(*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
7.3b2(sqrt.f64 (*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
7.3b2(*.f64 2 (-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
7.3b2(-.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
12.4b3(*.f64 im im)
Compiler

Compiled 314 to 223 computations (29% saved)

bsearch35.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
35.0ms
8.28563476921246e-37
9.605576075678447e-33
Results
14.0ms73×body256valid
13.0ms35×body2048valid
6.0ms18×body1024valid
0.0msbody512valid
Compiler

Compiled 198 to 152 computations (23.2% saved)

regimes56.0ms (1%)

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

3 calls:

24.0ms
re
18.0ms
im
12.0ms
(*.f64 im im)
Results
ErrorSegmentsBranch
13.6b3re
22.0b3im
22.0b3(*.f64 im im)
Compiler

Compiled 106 to 76 computations (28.3% saved)

bsearch50.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
32.0ms
8.28563476921246e-37
9.605576075678447e-33
18.0ms
-2.8646995345146266e-21
-2.1857134286122683e-26
Results
25.0ms223×body256valid
11.0ms18×body1024valid
8.0ms23×body2048valid
2.0msbody512valid
Compiler

Compiled 380 to 315 computations (17.1% saved)

regimes60.0ms (1.1%)

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

2 calls:

36.0ms
im
22.0ms
re
Results
ErrorSegmentsBranch
13.2b5re
22.4b3im
Compiler

Compiled 42 to 32 computations (23.8% saved)

bsearch78.0ms (1.4%)

Algorithm
binary-search
Steps
TimeLeftRight
29.0ms
2.3888997977596714e-6
0.0005259473669647668
21.0ms
-1.0058615478820937e-134
-1.0677533530483557e-148
8.0ms
-1.1165272677487232e-55
-6.87501794808471e-56
19.0ms
-2.8646995345146266e-21
-2.1857134286122683e-26
Results
49.0ms419×body256valid
13.0ms35×body2048valid
5.0ms11×body512valid
4.0ms15×body1024valid
Compiler

Compiled 615 to 542 computations (11.9% saved)

regimes21.0ms (0.4%)

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

2 calls:

10.0ms
im
10.0ms
re
Results
ErrorSegmentsBranch
24.8b2re
28.3b2im
Compiler

Compiled 34 to 25 computations (26.5% saved)

bsearch30.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
30.0ms
2.3888997977596714e-6
0.0005259473669647668
Results
17.0ms34×body2048valid
7.0ms61×body256valid
2.0msbody1024valid
2.0msbody512valid
Compiler

Compiled 155 to 128 computations (17.4% saved)

regimes24.0ms (0.4%)

Accuracy

Total -37.4b remaining (-150.5%)

Threshold costs -37.4b (-150.5%)

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

2 calls:

18.0ms
re
5.0ms
im
Results
ErrorSegmentsBranch
24.8b2re
28.3b2im
Compiler

Compiled 20 to 15 computations (25% saved)

bsearch26.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
25.0ms
2.3888997977596714e-6
0.0005259473669647668
Results
11.0ms29×body2048valid
8.0ms61×body256valid
3.0ms12×body1024valid
2.0ms10×body512valid
Compiler

Compiled 148 to 121 computations (18.2% saved)

simplify9.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
057209
172209
278209
380209
481209
Stop Event
done
saturated
Calls
Call 1
Inputs
(if (<=.f64 re 8231177221447645/374144419156711147060143317175368453031918731001856) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -7656353255721115/10633823966279326983230456482242756608) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 3928516401145467/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -7295653946784921/10889035741470030830827987437816582766592) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -5521397077432451/55213970774324510299478046898216203619608871777363092441300193790394368) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -8183476519740355/818347651974035467503297424206899788054160511510766197370822842024033449101168638720817523081476039287721671031890017752304314136471348263332131897344) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 2582544170319337/18446744073709551616) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))))))
(if (<=.f64 re 7378697629483821/590295810358705651712) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2))))
(if (<=.f64 re 1770887431076117/147573952589676412928) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Outputs
(if (<=.f64 re 8231177221447645/374144419156711147060143317175368453031918731001856) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 (hypot.f64 re im) re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(if (<=.f64 re -7656353255721115/10633823966279326983230456482242756608) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 3928516401145467/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (sqrt.f64 (*.f64 2 (-.f64 im re)))) (*.f64 1/2 (/.f64 im (sqrt.f64 re)))))
(if (<=.f64 re -7295653946784921/10889035741470030830827987437816582766592) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re -5521397077432451/55213970774324510299478046898216203619608871777363092441300193790394368) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (if (<=.f64 re -8183476519740355/818347651974035467503297424206899788054160511510766197370822842024033449101168638720817523081476039287721671031890017752304314136471348263332131897344) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 re -2)))) (if (<=.f64 re 2582544170319337/18446744073709551616) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2)))))))
(if (<=.f64 re 7378697629483821/590295810358705651712) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 im (pow.f64 re -1/2))))
(if (<=.f64 re 1770887431076117/147573952589676412928) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 im)))
Compiler

Compiled 152 to 120 computations (21.1% saved)

soundness231.0ms (4.1%)

Algorithm
egg-herbie
Rules
606×associate-/r*_binary64
583×associate-/l*_binary64
509×fma-def_binary64
507×log-prod_binary64
334×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
01315
12015
23315
35315
48015
510915
618015
728615
840715
949015
1060715
1167915
1270215
1374315
1479215
1585515
1689115
1790015
02812004
17831884
227311800
03051517
16721347
217581347
360141296
Stop Event
node limit
node limit
saturated
saturated
Compiler

Compiled 428 to 348 computations (18.7% saved)

end73.0ms (1.3%)

Compiler

Compiled 142 to 106 computations (25.4% saved)

Profiling

Loading profile data...