math.sqrt on complex, real part

Details

Time bar (total: 9.9s)

analyze86.0ms (0.9%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
62.5%62.4%37.5%0.1%0%0%0%5
62.5%62.4%37.5%0.1%0%0%0%6
68.8%68.7%31.2%0.1%0%0%0%7
68.8%68.7%31.2%0.1%0%0%0%8
71.9%71.8%28.1%0.1%0%0%0%9
71.9%71.8%28.1%0.1%0%0%0%10
73.4%73.4%26.5%0.1%0%0%0%11
73.4%73.4%26.5%0.1%0%0%0%12
Compiler

Compiled 18 to 13 computations (27.8% saved)

sample1.5s (14.8%)

Results
873.0ms6386×body256valid
237.0ms553×body4096valid
195.0ms635×body2048valid
104.0ms433×body1024valid
45.0ms249×body512valid
Bogosity

preprocess16.0ms (0.2%)

Algorithm
egg-herbie
Rules
20×fma-def
14×*-commutative
distribute-rgt-in
distribute-lft-in
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02158
14858
25858
36258
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 im im) (*.f64 re re))) im))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 im (hypot.f64 re im)))))
Compiler

Compiled 19 to 14 computations (26.3% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
12×fma-def
*-commutative
distribute-rgt-in
distribute-lft-in
hypot-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
12829
23529
33729
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
Outputs
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))

eval1.0ms (0%)

Compiler

Compiled 27 to 19 computations (29.6% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Accurracy
75.7%
Counts
3 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
36.3%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
75.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
Compiler

Compiled 29 to 21 computations (27.6% saved)

localize66.0ms (0.7%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 2 (+.f64 re (hypot.f64 re im)))
92.0%
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
84.2%
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 40 to 17 computations (57.5% saved)

series9.0ms (0.1%)

Counts
3 → 56
Calls

18 calls:

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

rewrite76.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1178×prod-diff
976×log-prod
628×pow-prod-down
498×pow-prod-up
492×pow-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01055
121655
2280855
Stop Event
node limit
Counts
3 → 145
Calls
Call 1
Inputs
(+.f64 re (hypot.f64 re im))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
Outputs
(-.f64 (exp.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))) 1)
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 re im))) (/.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 re (hypot.f64 re im))))
(*.f64 (+.f64 re (hypot.f64 re im)) 1)
(*.f64 1 (+.f64 re (hypot.f64 re im)))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (/.f64 1 (-.f64 re (hypot.f64 re im))))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 re re) (*.f64 re (hypot.f64 re im)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (neg.f64 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(pow.f64 (+.f64 re (hypot.f64 re im)) 1)
(pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)
(pow.f64 (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) -1)
(pow.f64 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) -1)
(sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))
(log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 re (hypot.f64 re im)))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (hypot.f64 re im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(log.f64 (*.f64 (exp.f64 (hypot.f64 re im)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))
(expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 re (hypot.f64 re im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 2))
(log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))
(fma.f64 re 1 (hypot.f64 re im))
(fma.f64 (hypot.f64 re im) 1 re)
(fma.f64 1 re (hypot.f64 re im))
(fma.f64 1 (hypot.f64 re im) re)
(fma.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) re)
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (hypot.f64 re im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(hypot.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)))
(hypot.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 re 2)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 re (hypot.f64 re im)) (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(+.f64 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(+.f64 0 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(+.f64 (*.f64 (*.f64 re 2) 1) (*.f64 (*.f64 (hypot.f64 re im) 2) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 re 2) 3) (pow.f64 (*.f64 (hypot.f64 re im) 2) 3)) (+.f64 (pow.f64 (*.f64 re 2) 2) (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) 2) 2) (*.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 re 2) 2) (pow.f64 (*.f64 (hypot.f64 re im) 2) 2)) (-.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2)))
(/.f64 (*.f64 2 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (*.f64 2 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (-.f64 re (hypot.f64 re im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) 2) (-.f64 re (hypot.f64 re im)))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 6)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 2/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 4)
(sqrt.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (*.f64 (exp.f64 (*.f64 (hypot.f64 re im) 2)) (exp.f64 (*.f64 re 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(fma.f64 re 2 (*.f64 (hypot.f64 re im) 2))
(fma.f64 (hypot.f64 re im) 2 (*.f64 re 2))
(fma.f64 2 re (*.f64 (hypot.f64 re im) 2))
(fma.f64 2 (hypot.f64 re im) (*.f64 re 2))
(fma.f64 1 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(fma.f64 1 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (*.f64 (cbrt.f64 (hypot.f64 re im)) 2) (*.f64 re 2))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 2) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (*.f64 (sqrt.f64 (hypot.f64 re im)) 2) (*.f64 re 2))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 2) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (*.f64 re 2) 1 (*.f64 (*.f64 (hypot.f64 re im) 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re 2)) 2) (cbrt.f64 (*.f64 re 2)) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (hypot.f64 re im) 2)) 2) (cbrt.f64 (*.f64 (hypot.f64 re im) 2)) (*.f64 re 2))
(fma.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 re 2)) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (*.f64 re 2))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (*.f64 2 (sqrt.f64 re)) (sqrt.f64 re) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (cbrt.f64 (hypot.f64 re im)) (*.f64 re 2))
(fma.f64 (*.f64 2 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im)) (*.f64 re 2))

simplify134.0ms (1.4%)

Algorithm
egg-herbie
Rules
1508×times-frac
682×associate-+r+
606×fma-def
504×log-prod
420×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04726281
112496019
238795909
Stop Event
node limit
Counts
201 → 293
Calls
Call 1
Inputs
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(*.f64 2 re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
im
(+.f64 re im)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(*.f64 -1 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(*.f64 2 im)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 4 re)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
(*.f64 4 re)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 2 im)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 2 re))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))) 1)
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 re im))) (/.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 re (hypot.f64 re im))))
(*.f64 (+.f64 re (hypot.f64 re im)) 1)
(*.f64 1 (+.f64 re (hypot.f64 re im)))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (/.f64 1 (-.f64 re (hypot.f64 re im))))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 re re) (*.f64 re (hypot.f64 re im)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (neg.f64 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(pow.f64 (+.f64 re (hypot.f64 re im)) 1)
(pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)
(pow.f64 (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) -1)
(pow.f64 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) -1)
(sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))
(log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 re (hypot.f64 re im)))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (hypot.f64 re im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(log.f64 (*.f64 (exp.f64 (hypot.f64 re im)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))
(expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 re (hypot.f64 re im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 2))
(log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))
(fma.f64 re 1 (hypot.f64 re im))
(fma.f64 (hypot.f64 re im) 1 re)
(fma.f64 1 re (hypot.f64 re im))
(fma.f64 1 (hypot.f64 re im) re)
(fma.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) re)
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (hypot.f64 re im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(hypot.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)))
(hypot.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 re 2)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 re (hypot.f64 re im)) (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(+.f64 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(+.f64 0 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(+.f64 (*.f64 (*.f64 re 2) 1) (*.f64 (*.f64 (hypot.f64 re im) 2) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 re 2) 3) (pow.f64 (*.f64 (hypot.f64 re im) 2) 3)) (+.f64 (pow.f64 (*.f64 re 2) 2) (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) 2) 2) (*.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 re 2) 2) (pow.f64 (*.f64 (hypot.f64 re im) 2) 2)) (-.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2)))
(/.f64 (*.f64 2 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (*.f64 2 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (-.f64 re (hypot.f64 re im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) 2) (-.f64 re (hypot.f64 re im)))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 6)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 2/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 4)
(sqrt.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (*.f64 (exp.f64 (*.f64 (hypot.f64 re im) 2)) (exp.f64 (*.f64 re 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(fma.f64 re 2 (*.f64 (hypot.f64 re im) 2))
(fma.f64 (hypot.f64 re im) 2 (*.f64 re 2))
(fma.f64 2 re (*.f64 (hypot.f64 re im) 2))
(fma.f64 2 (hypot.f64 re im) (*.f64 re 2))
(fma.f64 1 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(fma.f64 1 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (*.f64 (cbrt.f64 (hypot.f64 re im)) 2) (*.f64 re 2))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 2) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (*.f64 (sqrt.f64 (hypot.f64 re im)) 2) (*.f64 re 2))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 2) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (*.f64 re 2) 1 (*.f64 (*.f64 (hypot.f64 re im) 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re 2)) 2) (cbrt.f64 (*.f64 re 2)) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (hypot.f64 re im) 2)) 2) (cbrt.f64 (*.f64 (hypot.f64 re im) 2)) (*.f64 re 2))
(fma.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 re 2)) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (*.f64 re 2))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (*.f64 2 (sqrt.f64 re)) (sqrt.f64 re) (*.f64 (hypot.f64 re im) 2))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (cbrt.f64 (hypot.f64 re im)) (*.f64 re 2))
(fma.f64 (*.f64 2 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im)) (*.f64 re 2))
Outputs
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 re re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 re 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 re 2 (/.f64 (*.f64 1/2 (*.f64 im im)) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 2 re (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 re 2 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (+.f64 re re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 2 re (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (+.f64 re re))))
(*.f64 -1/2 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 (*.f64 im im) re) -1/2)
(*.f64 (/.f64 im (/.f64 re im)) -1/2)
(/.f64 (*.f64 (*.f64 -1/2 im) im) re)
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 (*.f64 im im) re) -1/2))
(fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (*.f64 im im) re) -1/2)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (/.f64 (*.f64 (pow.f64 im 6) -1/16) (pow.f64 re 5))))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7))) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 -1/2 (/.f64 (pow.f64 im 2) re)))))
(fma.f64 1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/2 (/.f64 (+.f64 (pow.f64 (*.f64 -1/8 (pow.f64 im 4)) 2) (*.f64 1/16 (pow.f64 im 8))) (pow.f64 re 7)) (fma.f64 -1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (*.f64 im im) re) -1/2))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 1/2 (/.f64 (fma.f64 1/16 (pow.f64 im 8) (*.f64 (pow.f64 im 8) 1/64)) (pow.f64 re 7)) (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/16))))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/8 (fma.f64 1/2 (/.f64 (*.f64 (pow.f64 im 8) 5/64) (pow.f64 re 7)) (fma.f64 (/.f64 im (/.f64 re im)) -1/2 (/.f64 (*.f64 (pow.f64 im 6) -1/16) (pow.f64 re 5)))))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 re re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (*.f64 2 re))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (*.f64 re 2))
(fma.f64 re 2 (*.f64 1/2 (/.f64 im (/.f64 re im))))
(fma.f64 re 2 (/.f64 (*.f64 1/2 (*.f64 im im)) re))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 2 re (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 re 2 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (+.f64 re re)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 2 re) (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 (*.f64 im im) re) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 2 re (/.f64 (*.f64 -1/8 (pow.f64 im 4)) (pow.f64 re 3)))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 re 2 (*.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))))
(fma.f64 1/2 (/.f64 im (/.f64 re im)) (fma.f64 1/16 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 -1/8 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (+.f64 re re))))
im
(+.f64 re im)
(+.f64 im re)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im))
(fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re))
(+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 re 2) im)) (+.f64 re im)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (*.f64 re re) im) (+.f64 im re)))
(fma.f64 -1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 im (fma.f64 1/2 (/.f64 re (/.f64 im re)) re)))
(*.f64 -1 im)
(neg.f64 im)
(+.f64 re (*.f64 -1 im))
(+.f64 re (neg.f64 im))
(-.f64 re im)
(+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im)))
(+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im)))
(+.f64 re (-.f64 (*.f64 (/.f64 re (/.f64 im re)) -1/2) im))
(+.f64 re (-.f64 (/.f64 (*.f64 (*.f64 -1/2 re) re) im) im))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 re (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 re 2) im)) (*.f64 -1 im))))
(fma.f64 1/8 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (+.f64 re (fma.f64 -1/2 (/.f64 (*.f64 re re) im) (neg.f64 im))))
(+.f64 (-.f64 (*.f64 (/.f64 re (/.f64 im re)) -1/2) im) (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 re))
(fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/8 (+.f64 re (-.f64 (/.f64 (*.f64 (*.f64 -1/2 re) re) im) im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 im))) 1/2)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (sqrt.f64 (/.f64 1 im)))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2)))))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 1/2 (sqrt.f64 2)) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) re))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 2))) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 -1/4 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (*.f64 re re)) (sqrt.f64 (/.f64 1 im)))) (fma.f64 -1/4 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2))) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))
(+.f64 (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 (sqrt.f64 (/.f64 1 im)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 re (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)))))) (*.f64 (*.f64 1/2 re) (sqrt.f64 2))))) (*.f64 (sqrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (*.f64 (-.f64 (/.f64 1/2 im) (pow.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) -1/4)))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 (pow.f64 re 3) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) -1/4) (sqrt.f64 im))) (*.f64 (sqrt.f64 (/.f64 1 im)) (*.f64 (*.f64 1/2 (sqrt.f64 2)) (+.f64 (*.f64 re (*.f64 re (+.f64 (/.f64 1/2 im) (*.f64 (/.f64 1 im) -1/4)))) re))))
(*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 1/4 (*.f64 im (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re))) -1/2))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (*.f64 (*.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (pow.f64 im 4)) (sqrt.f64 (/.f64 1 re)))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (-.f64 (*.f64 1/16 (/.f64 1 (pow.f64 re 5))) (*.f64 -1/4 (/.f64 (+.f64 (*.f64 1/8 (/.f64 1 (pow.f64 re 3))) (pow.f64 (*.f64 1/4 (*.f64 (/.f64 1 (sqrt.f64 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 -1/2 (*.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 im 4) (sqrt.f64 (/.f64 1 re)))) (fma.f64 1/2 (*.f64 (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/4 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (*.f64 1/4 (/.f64 1 (sqrt.f64 2))) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) 2)) (*.f64 (pow.f64 (sqrt.f64 2) 2) (*.f64 re re))))) (*.f64 (pow.f64 im 6) (sqrt.f64 (/.f64 1 re)))) (*.f64 (pow.f64 (sqrt.f64 2) 2) (sqrt.f64 re)))))
(+.f64 (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)))) (*.f64 1/2 (*.f64 (pow.f64 im 6) (-.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 -1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re)))))))) (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3)))))))
(+.f64 (fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 1/4 (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 (/.f64 1 re)) (+.f64 (*.f64 (*.f64 -1/2 (pow.f64 im 4)) (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2))) (*.f64 (*.f64 1/2 (pow.f64 im 6)) (+.f64 (/.f64 1/16 (pow.f64 re 5)) (*.f64 1/8 (/.f64 (+.f64 (/.f64 1/8 (pow.f64 re 3)) (pow.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (/.f64 1/4 (sqrt.f64 2))) 2)) (*.f64 re re))))))))
(*.f64 2 im)
(*.f64 im 2)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(*.f64 2 (+.f64 im re))
(*.f64 (+.f64 im re) 2)
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (/.f64 (*.f64 re re) im) (*.f64 2 (+.f64 im re)))
(fma.f64 2 (+.f64 im re) (/.f64 re (/.f64 im re)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (/.f64 (*.f64 re re) im) (fma.f64 2 im (fma.f64 2 re (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/4))))
(+.f64 (/.f64 re (/.f64 im re)) (fma.f64 2 (+.f64 im re) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/4)))
(*.f64 4 re)
(*.f64 re 4)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(fma.f64 4 re (/.f64 (*.f64 im im) re))
(fma.f64 re 4 (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(fma.f64 4 re (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)))
(fma.f64 re 4 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/4 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(fma.f64 4 re (+.f64 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) 1/8)))
(fma.f64 re 4 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/4 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) 1/8 (/.f64 im (/.f64 re im)))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (*.f64 (neg.f64 im) im) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 -1 (/.f64 (*.f64 im im) re) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 re 3)))
(-.f64 (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/4) (/.f64 im (/.f64 re im)))
(fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/4 (/.f64 (*.f64 im (neg.f64 im)) re))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 -1 (/.f64 (*.f64 im im) re) (fma.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 re 3))))
(-.f64 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/4 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))) (/.f64 im (/.f64 re im)))
(-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/4)) (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
(fma.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (fma.f64 -1 (/.f64 (*.f64 im im) re) (fma.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/64 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 re 3))))))
(fma.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/4 (/.f64 (*.f64 (pow.f64 im 8) 1/64) (pow.f64 re 7)))) (/.f64 im (/.f64 re im))))
(fma.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (-.f64 (fma.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) 1/4 (/.f64 1/64 (/.f64 (pow.f64 re 7) (pow.f64 im 8))))) (/.f64 im (/.f64 re im))))
(*.f64 4 re)
(*.f64 re 4)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(fma.f64 4 re (/.f64 (*.f64 im im) re))
(fma.f64 re 4 (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(fma.f64 4 re (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)))
(fma.f64 re 4 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/4 (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(fma.f64 4 re (+.f64 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) 1/8)))
(fma.f64 re 4 (fma.f64 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) -1/4 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) 1/8 (/.f64 im (/.f64 re im)))))
(*.f64 2 im)
(*.f64 im 2)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(*.f64 2 (+.f64 im re))
(*.f64 (+.f64 im re) 2)
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (/.f64 (*.f64 re re) im) (*.f64 2 (+.f64 im re)))
(fma.f64 2 (+.f64 im re) (/.f64 re (/.f64 im re)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (/.f64 (*.f64 re re) im) (fma.f64 2 im (fma.f64 2 re (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/4))))
(+.f64 (/.f64 re (/.f64 im re)) (fma.f64 2 (+.f64 im re) (*.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) -1/4)))
(*.f64 -2 im)
(*.f64 im -2)
(+.f64 (*.f64 -2 im) (*.f64 2 re))
(fma.f64 -2 im (*.f64 re 2))
(fma.f64 re 2 (*.f64 im -2))
(fma.f64 im -2 (+.f64 re re))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re)))
(fma.f64 -2 im (fma.f64 -1 (/.f64 (*.f64 re re) im) (*.f64 re 2)))
(fma.f64 im -2 (-.f64 (+.f64 re re) (/.f64 re (/.f64 im re))))
(-.f64 (fma.f64 im -2 (+.f64 re re)) (/.f64 re (/.f64 im re)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re))))
(fma.f64 -2 im (fma.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1 (/.f64 (*.f64 re re) im) (*.f64 re 2))))
(fma.f64 im -2 (fma.f64 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) 1/4 (-.f64 (+.f64 re re) (/.f64 re (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))) 1)
(+.f64 re (hypot.f64 re im))
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (hypot.f64 re im))) (/.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(*.f64 (+.f64 re (hypot.f64 re im)) 1)
(+.f64 re (hypot.f64 re im))
(*.f64 1 (+.f64 re (hypot.f64 re im)))
(+.f64 re (hypot.f64 re im))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))
(+.f64 re (hypot.f64 re im))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 re (hypot.f64 re im))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 re (hypot.f64 re im))
(*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) 1) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (/.f64 1 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) 1) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 1 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) 1) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (*.f64 re re) (*.f64 re (hypot.f64 re im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) 1) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) 1) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (neg.f64 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(pow.f64 (+.f64 re (hypot.f64 re im)) 1)
(+.f64 re (hypot.f64 re im))
(pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)
(+.f64 re (hypot.f64 re im))
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(+.f64 re (hypot.f64 re im))
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)
(+.f64 re (hypot.f64 re im))
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)
(+.f64 re (hypot.f64 re im))
(pow.f64 (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) 1) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(pow.f64 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) -1)
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))
(+.f64 re (hypot.f64 re im))
(log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 re (hypot.f64 re im))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 re (hypot.f64 re im)))))
(+.f64 re (hypot.f64 re im))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(+.f64 re (hypot.f64 re im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (hypot.f64 re im))))
(+.f64 re (hypot.f64 re im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(+.f64 re (hypot.f64 re im))
(log.f64 (*.f64 (exp.f64 (hypot.f64 re im)) (+.f64 1 (expm1.f64 re))))
(+.f64 re (hypot.f64 re im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (exp.f64 re)))
(+.f64 re (hypot.f64 re im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (+.f64 1 (expm1.f64 re))))
(+.f64 re (hypot.f64 re im))
(cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))
(+.f64 re (hypot.f64 re im))
(expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 re (hypot.f64 re im))
(exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 re (hypot.f64 re im))
(exp.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1))
(+.f64 re (hypot.f64 re im))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1) 1))
(+.f64 re (hypot.f64 re im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im)))) 3))
(+.f64 re (hypot.f64 re im))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 re (hypot.f64 re im)))) 1/3))
(+.f64 re (hypot.f64 re im))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 2))
(+.f64 re (hypot.f64 re im))
(log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))
(+.f64 re (hypot.f64 re im))
(fma.f64 re 1 (hypot.f64 re im))
(+.f64 re (hypot.f64 re im))
(fma.f64 (hypot.f64 re im) 1 re)
(+.f64 re (hypot.f64 re im))
(fma.f64 1 re (hypot.f64 re im))
(+.f64 re (hypot.f64 re im))
(fma.f64 1 (hypot.f64 re im) re)
(+.f64 re (hypot.f64 re im))
(fma.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) re)
(+.f64 re (hypot.f64 re im))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) re)
(+.f64 re (hypot.f64 re im))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (hypot.f64 re im))
(+.f64 re (hypot.f64 re im))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))
(+.f64 re (hypot.f64 re im))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(+.f64 re (hypot.f64 re im))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(+.f64 re (hypot.f64 re im))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 3)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/4)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/6)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(hypot.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(hypot.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 re 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2) 1))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 3))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 re (hypot.f64 re im)) (+.f64 re (hypot.f64 re im)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 0 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 (*.f64 re 2) 1) (*.f64 (*.f64 (hypot.f64 re im) 2) 1))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 re (hypot.f64 re im))) 2))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(/.f64 (+.f64 (pow.f64 (*.f64 re 2) 3) (pow.f64 (*.f64 (hypot.f64 re im) 2) 3)) (+.f64 (pow.f64 (*.f64 re 2) 2) (-.f64 (pow.f64 (*.f64 (hypot.f64 re im) 2) 2) (*.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re 2) 3) (*.f64 (pow.f64 (hypot.f64 re im) 3) 8)) (+.f64 (pow.f64 (*.f64 re 2) 2) (-.f64 (pow.f64 (*.f64 2 (hypot.f64 re im)) 2) (*.f64 (*.f64 re 2) (*.f64 2 (hypot.f64 re im))))))
(/.f64 (*.f64 8 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3))) (+.f64 (*.f64 4 (*.f64 re re)) (-.f64 (*.f64 4 (pow.f64 (hypot.f64 re im) 2)) (*.f64 re (*.f64 4 (hypot.f64 re im))))))
(/.f64 (*.f64 8 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3))) (+.f64 (*.f64 4 (*.f64 re re)) (*.f64 (*.f64 4 (hypot.f64 re im)) (-.f64 (hypot.f64 re im) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 re 2) 2) (pow.f64 (*.f64 (hypot.f64 re im) 2) 2)) (-.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 re 2) 2) (pow.f64 (*.f64 2 (hypot.f64 re im)) 2)) (*.f64 2 (-.f64 re (hypot.f64 re im))))
(/.f64 (-.f64 (*.f64 4 (*.f64 re re)) (*.f64 4 (pow.f64 (hypot.f64 re im) 2))) (*.f64 2 (-.f64 re (hypot.f64 re im))))
(/.f64 (*.f64 4 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (*.f64 2 (-.f64 re (hypot.f64 re im))))
(/.f64 (*.f64 2 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) 2))
(*.f64 (/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))) 2)
(/.f64 (*.f64 2 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (-.f64 re (hypot.f64 re im)))
(*.f64 (/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re)) 2)
(/.f64 (*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (/.f64 (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re))) 2))
(*.f64 (/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (fma.f64 re re (*.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re)))) 2)
(/.f64 (*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) 2) (-.f64 re (hypot.f64 re im)))
(/.f64 (*.f64 2 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (-.f64 re (hypot.f64 re im)))
(*.f64 (/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re)) 2)
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 6)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/3)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 2/3)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 4)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(sqrt.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(log.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(log.f64 (*.f64 (exp.f64 (*.f64 (hypot.f64 re im) 2)) (exp.f64 (*.f64 re 2))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1/3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 re 2 (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (hypot.f64 re im) 2 (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 2 re (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 2 (hypot.f64 re im) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 1 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 1 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (*.f64 (cbrt.f64 (hypot.f64 re im)) 2) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 2) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (*.f64 (sqrt.f64 (hypot.f64 re im)) 2) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 2) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (*.f64 re 2) 1 (*.f64 (*.f64 (hypot.f64 re im) 2) 1))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re 2)) 2) (cbrt.f64 (*.f64 re 2)) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (hypot.f64 re im) 2)) 2) (cbrt.f64 (*.f64 (hypot.f64 re im) 2)) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 re 2)) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (*.f64 2 (sqrt.f64 re)) (sqrt.f64 re) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) (cbrt.f64 (hypot.f64 re im)) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (*.f64 2 (sqrt.f64 (hypot.f64 re im))) (sqrt.f64 (hypot.f64 re im)) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))

localize111.0ms (1.1%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 re re) (*.f64 im im))
92.0%
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
84.2%
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
49.6%
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
Compiler

Compiled 78 to 20 computations (74.4% saved)

series6.0ms (0.1%)

Counts
4 → 80
Calls

24 calls:

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

rewrite92.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1264×log-prod
1166×fma-def
702×pow-exp
676×pow-prod-up
480×expm1-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01358
128556
2388956
Stop Event
node limit
Counts
4 → 192
Calls
Call 1
Inputs
(sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im)))
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
(+.f64 (*.f64 re re) (*.f64 im im))
Outputs
(+.f64 0 (hypot.f64 re im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im))) (cbrt.f64 (exp.f64 (hypot.f64 re im))))) (log.f64 (cbrt.f64 (exp.f64 (hypot.f64 re im)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))) (log.f64 (sqrt.f64 (exp.f64 (hypot.f64 re im)))))
(-.f64 (exp.f64 (log1p.f64 (hypot.f64 re im))) 1)
(*.f64 (hypot.f64 re im) 1)
(*.f64 1 (hypot.f64 re im))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)))
(*.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))
(*.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 1/2))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4))) (sqrt.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (hypot.f64 (pow.f64 im 3) (pow.f64 re 3)) (sqrt.f64 (-.f64 (+.f64 (pow.f64 re 4) (pow.f64 im 4)) (pow.f64 (*.f64 re im) 2))))
(pow.f64 (pow.f64 (hypot.f64 re im) 2) 1/2)
(pow.f64 (hypot.f64 re im) 1)
(pow.f64 (cbrt.f64 (hypot.f64 re im)) 3)
(pow.f64 (sqrt.f64 (hypot.f64 re im)) 2)
(pow.f64 (pow.f64 (hypot.f64 re im) 3) 1/3)
(fabs.f64 (hypot.f64 re im))
(log.f64 (exp.f64 (hypot.f64 re im)))
(log.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (hypot.f64 re im) 3))
(expm1.f64 (log1p.f64 (hypot.f64 re im)))
(hypot.f64 re im)
(hypot.f64 im re)
(exp.f64 (log.f64 (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)) 1/2))
(exp.f64 (*.f64 (log.f64 (hypot.f64 re im)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (hypot.f64 re im))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (hypot.f64 re im))) 2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 3)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) 3) 1/3))
(log1p.f64 (expm1.f64 (hypot.f64 re im)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 re (hypot.f64 re im)))) 1)
(-.f64 (/.f64 (pow.f64 (hypot.f64 re im) 2) (-.f64 (hypot.f64 re im) re)) (/.f64 (*.f64 re re) (-.f64 (hypot.f64 re im) re)))
(*.f64 (+.f64 re (hypot.f64 re im)) 1)
(*.f64 1 (+.f64 re (hypot.f64 re im)))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) (/.f64 1 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))
(*.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (/.f64 1 (-.f64 (hypot.f64 re im) re)))
(/.f64 1 (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))))
(/.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) 3) (pow.f64 re 3)) (fma.f64 re re (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re (hypot.f64 re im)))))
(/.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re)) (-.f64 (hypot.f64 re im) re))
(/.f64 (neg.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (neg.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) (neg.f64 (-.f64 (hypot.f64 re im) re)))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) (-.f64 re (hypot.f64 re im)))
(pow.f64 (+.f64 re (hypot.f64 re im)) 1)
(pow.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) 3)
(pow.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) 2)
(pow.f64 (/.f64 (fma.f64 re (-.f64 re (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 2)) (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) -1)
(pow.f64 (/.f64 (-.f64 (hypot.f64 re im) re) (-.f64 (pow.f64 (hypot.f64 re im) 2) (*.f64 re re))) -1)
(sqrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 2))
(log.f64 (exp.f64 (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 re (hypot.f64 re im)))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (hypot.f64 re im))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (hypot.f64 re im)))))
(log.f64 (*.f64 (exp.f64 (hypot.f64 re im)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (hypot.f64 re im))) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3))
(expm1.f64 (log1p.f64 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 re (hypot.f64 re im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 re (hypot.f64 re im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im)))) 2))
(log1p.f64 (expm1.f64 (+.f64 re (hypot.f64 re im))))
(fma.f64 re 1 (hypot.f64 re im))
(fma.f64 (hypot.f64 re im) 1 re)
(fma.f64 1 re (hypot.f64 re im))
(fma.f64 1 (hypot.f64 re im) re)
(fma.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (cbrt.f64 (hypot.f64 re im)) re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (hypot.f64 re im))
(fma.f64 (cbrt.f64 (hypot.f64 re im)) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (hypot.f64 re im))
(fma.f64 (sqrt.f64 (hypot.f64 re im)) (sqrt.f64 (hypot.f64 re im)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (hypot.f64 re im))
(fma.f64 (sqrt.f64 (*.f64 (cbrt.f64 re) re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2)) (hypot.f64 re im))
(fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2)) re)
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4) 1/2) (pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 1/2) re)
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(hypot.f64 (sqrt.f64 (*.f64 (hypot.f64 re im) 2)) (sqrt.f64 (*.f64 re 2)))
(hypot.f64 (sqrt.f64 (*.f64 re 2)) (sqrt.f64 (*.f64 (hypot.f64 re im) 2)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (hypot.f64 re im) 2))) 1)
(-.f64 (/.f64 (pow.f64 re 4) (-.f64 (*.f64 re re) (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(*.f64 (hypot.f64 re im) (hypot.f64 re im))
(*.f64 1 (pow.f64 (hypot.f64 re im) 2))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 4) (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2))
(*.f64 (sqrt.f64 (hypot.f64 re im)) (pow.f64 (hypot.f64 re im) 3/2))
(*.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (/.f64 1 (-.f64 (+.f64 (pow.f64 re 4) (pow.f64 im 4)) (pow.f64 (*.f64 re im) 2))))
(*.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (/.f64 1 (-.f64 (*.f64 re re) (*.f64 im im))))
(*.f64 (pow.f64 (hypot.f64 re im) 3/2) (sqrt.f64 (hypot.f64 re im)))
(*.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 5) (cbrt.f64 (hypot.f64 re im)))
(/.f64 1 (/.f64 (-.f64 (+.f64 (pow.f64 re 4) (pow.f64 im 4)) (pow.f64 (*.f64 re im) 2)) (+.f64 (pow.f64 re 6) (pow.f64 im 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (pow.f64 re 4) (pow.f64 im 4))))
(/.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (-.f64 (+.f64 (pow.f64 re 4) (pow.f64 im 4)) (pow.f64 (*.f64 re im) 2)))
(/.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 (pow.f64 re 4) (pow.f64 (*.f64 re im) 2))))
(/.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4)) (-.f64 (*.f64 re re) (*.f64 im im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re 6) (pow.f64 im 6))) (neg.f64 (-.f64 (+.f64 (pow.f64 re 4) (pow.f64 im 4)) (pow.f64 (*.f64 re im) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 re 4) (pow.f64 im 4))) (neg.f64 (-.f64 (*.f64 re re) (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 im 4) (pow.f64 re 4)) (-.f64 (*.f64 im im) (*.f64 re re)))
(pow.f64 (pow.f64 (hypot.f64 re im) 2) 1)
(pow.f64 (hypot.f64 re im) 2)
(pow.f64 (pow.f64 (cbrt.f64 (hypot.f64 re im)) 2) 3)
(pow.f64 (cbrt.f64 (hypot.f64 re im)) 6)
(pow.f64 (pow.f64 (hypot.f64 re im) 4) 1/2)
(pow.f64 (pow.f64 (hypot.f64 re im) 6) 1/3)
(pow.f64 (sqrt.f64 (hypot.f64 re im)) 4)
(pow.f64 (pow.f64 (hypot.f64 re im) 3) 2/3)
(pow.f64 (/.f64 (-.f64 (+.f64 (pow.f64 re 4) (pow.f64 im 4)) (pow.f64 (*.f64 re im) 2)) (+.f64 (pow.f64 re 6) (pow.f64 im 6))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 re re) (*.f64 im im)) (-.f64 (pow.f64 re 4) (pow.f64 im 4))) -1)
(sqrt.f64 (pow.f64 (hypot.f64 re im) 4))
(log.f64 (exp.f64 (pow.f64 (hypot.f64 re im) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (hypot.f64 re im) 2))))
(log.f64 (*.f64 (pow.f64 (exp.f64 re) re) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re re))) (pow.f64 (exp.f64 im) im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re re))) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 im) im) (+.f64 1 (expm1.f64 (*.f64 re re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (pow.f64 (exp.f64 re) re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (+.f64 1 (expm1.f64 (*.f64 re re)))))
(cbrt.f64 (pow.f64 (hypot.f64 re im) 6))
(expm1.f64 (log1p.f64 (pow.f64 (hypot.f64 re im) 2)))
(exp.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (hypot.f64 re im)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 2)) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (hypot.f64 re im)) 1) 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (hypot.f64 re im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 4)) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 re im) 6)) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 (hypot.f64 re im) 2)))
(fma.f64 re re (*.f64 im im))
(fma.f64 (*.f64 re re) 1 (*.f64 im im))
(fma.f64 im im (*.f64 re re))
(fma.f64 (*.f64 im im) 1 (*.f64 re re))
(fma.f64 1 (*.f64 re re) (*.f64 im im))
(fma.f64 1 (*.f64 im im) (*.f64 re re))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) re) (*.f64 im im))
(fma.f64 (*.f64 (cbrt.f64 re) re) (pow.f64 (cbrt.f64 re) 2) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 (pow.f64 im 4)) (*.f64 re re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (cbrt.f64 (*.f64 im im)) (*.f64 re re))
(fma.f64 (sqrt.f64 im) (pow.f64 im 3/2) (*.f64 re re))
(fma.f64 (sqrt.f64 re) (pow.f64 re 3/2) (*.f64 im im))
(fma.f64 (pow.f64 im 3/2) (sqrt.f64 im) (*.f64 re re))
(fma.f64 (pow.f64 re 3/2) (sqrt.f64 re) (*.f64 im im))
(fma.f64 (pow.f64 (cbrt.f64 re) 5) (cbrt.f64 re) (*.f64 im im))
(fma.f64 (pow.f64 (cbrt.f64 im) 5) (cbrt.f64 im) (*.f64 re re))

simplify133.0ms (1.3%)

Algorithm
egg-herbie
Rules
768×associate-+r+
756×cancel-sign-sub-inv
568×fma-def
522×log-prod
460×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

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

eval252.0ms (2.5%)

Compiler

Compiled 13156 to 8703 computations (33.8% saved)

prune127.0ms (1.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New6268634
Fresh000
Picked101
Done011
Total6279636
Accurracy
92.2%
Counts
636 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.7%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2))
23.1%
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
22.4%
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
18.9%
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 (neg.f64 im) im) re)))
25.8%
(*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
22.9%
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
28.3%
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
75.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
23.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
Compiler

Compiled 176 to 143 computations (18.8% saved)

localize160.0ms (1.6%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (+.f64 re (hypot.f64 re im)) 2)
99.4%
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2)
87.3%
(cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
84.2%
(+.f64 re (hypot.f64 re im))
Compiler

Compiled 53 to 25 computations (52.8% saved)

series22.0ms (0.2%)

Counts
3 → 40
Calls

18 calls:

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

rewrite78.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1048×log-prod
1012×prod-diff
654×pow-prod-down
572×pow-exp
558×pow-prod-up
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01271
125365
2312465
Stop Event
node limit
Counts
3 → 108
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3/2)
(*.f64 (+.f64 re (hypot.f64 re im)) 2)
Outputs
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(*.f64 1 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (cbrt.f64 2))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2) 3/2)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/9)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) 3/2))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))
(sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/4) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 re (hypot.f64 re im)) (+.f64 re (hypot.f64 re im)))
(+.f64 0 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(+.f64 (*.f64 2 re) (*.f64 2 (hypot.f64 re im)))
(+.f64 (*.f64 2 (hypot.f64 re im)) (*.f64 2 re))
(+.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(+.f64 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))) (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(/.f64 (*.f64 2 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (*.f64 2 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (-.f64 re (hypot.f64 re im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) 2) (-.f64 re (hypot.f64 re im)))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 9)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 2/3)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 4)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) 3/4)
(sqrt.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 2))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3)) 1/3))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(fma.f64 re 2 (*.f64 (hypot.f64 re im) 2))
(fma.f64 (hypot.f64 re im) 2 (*.f64 re 2))
(fma.f64 2 re (*.f64 2 (hypot.f64 re im)))
(fma.f64 2 (hypot.f64 re im) (*.f64 2 re))

simplify102.0ms (1%)

Algorithm
egg-herbie
Rules
1258×times-frac
746×associate-+l+
688×associate-+r+
556×associate-*r*
526×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04746520
112046234
240705912
Stop Event
node limit
Counts
148 → 236
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2))
(+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re)))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))))
(*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) (pow.f64 im 6)) (cbrt.f64 2)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18))))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))))) (+.f64 (*.f64 2/27 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)) (*.f64 -2 (/.f64 (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))) im))))) (+.f64 (*.f64 3/8 (*.f64 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9))) (*.f64 1/48 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)))) (pow.f64 re 3))) (sqrt.f64 im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 2 (sqrt.f64 re)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (sqrt.f64 re)))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/3072 (/.f64 1 (pow.f64 re 6))) (+.f64 (*.f64 1/480 (+.f64 (*.f64 10/9 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 9) (pow.f64 re 6)))) (+.f64 (*.f64 20/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 6))))) (*.f64 120 (/.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) re))))) (*.f64 1/128 (/.f64 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 re))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (sqrt.f64 re))))))
(*.f64 2 im)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 4 re)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
(*.f64 4 re)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(*.f64 2 im)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(*.f64 -2 im)
(+.f64 (*.f64 -2 im) (*.f64 2 re))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re))))
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(*.f64 1 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (cbrt.f64 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (cbrt.f64 2))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2) 3/2)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/9)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) 3/2))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))
(sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4)) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/4) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(+.f64 (+.f64 re (hypot.f64 re im)) (+.f64 re (hypot.f64 re im)))
(+.f64 0 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(+.f64 (*.f64 2 re) (*.f64 2 (hypot.f64 re im)))
(+.f64 (*.f64 2 (hypot.f64 re im)) (*.f64 2 re))
(+.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(+.f64 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))) (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(/.f64 (*.f64 2 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (*.f64 2 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (-.f64 re (hypot.f64 re im)))
(/.f64 (*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) 2) (-.f64 re (hypot.f64 re im)))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 9)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 2/3)
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 4)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) 3/4)
(sqrt.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)))
(log.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 2))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3)) 1/3))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(fma.f64 re 2 (*.f64 (hypot.f64 re im) 2))
(fma.f64 (hypot.f64 re im) 2 (*.f64 re 2))
(fma.f64 2 re (*.f64 2 (hypot.f64 re im)))
(fma.f64 2 (hypot.f64 re im) (*.f64 2 re))
Outputs
(*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2))
(*.f64 (cbrt.f64 im) (cbrt.f64 2))
(+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))
(fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re))))
(fma.f64 1/3 (*.f64 re (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (cbrt.f64 2)))) (*.f64 (cbrt.f64 im) (cbrt.f64 2)))
(*.f64 (cbrt.f64 2) (+.f64 (cbrt.f64 im) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18))) re)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re)))))
(fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (cbrt.f64 2)) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 re re))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re)))))
(fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 2) (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18))))) (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (fma.f64 1/3 (*.f64 re (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (cbrt.f64 2)))) (*.f64 (cbrt.f64 im) (cbrt.f64 2))))
(fma.f64 1/3 (*.f64 (cbrt.f64 2) (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 re re)) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (*.f64 (cbrt.f64 2) (+.f64 (cbrt.f64 im) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18))) re))))
(+.f64 (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3) (*.f64 (cbrt.f64 2) (*.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) (pow.f64 re 2))))) (+.f64 (*.f64 (pow.f64 (*.f64 1 im) 1/3) (cbrt.f64 2)) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/9) (*.f64 (cbrt.f64 2) re))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 (*.f64 (cbrt.f64 2) (pow.f64 re 3)) (fma.f64 1/27 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))))))) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) (cbrt.f64 2)) (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 re re))) (fma.f64 (cbrt.f64 im) (cbrt.f64 2) (*.f64 1/3 (*.f64 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18)) (*.f64 (cbrt.f64 2) re))))))
(fma.f64 -1/3 (*.f64 (cbrt.f64 2) (*.f64 (*.f64 (pow.f64 re 3) (fma.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27 (*.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)))))) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (fma.f64 1/3 (*.f64 (*.f64 (cbrt.f64 2) (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18))))) (*.f64 (*.f64 re re) (cbrt.f64 (/.f64 1 (*.f64 im im))))) (fma.f64 1/3 (*.f64 re (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (cbrt.f64 2)))) (*.f64 (cbrt.f64 im) (cbrt.f64 2)))))
(+.f64 (*.f64 (cbrt.f64 2) (+.f64 (cbrt.f64 im) (*.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (*.f64 im im)) 1/18) (pow.f64 (/.f64 1 (*.f64 im im)) 1/18))) re))) (*.f64 (*.f64 (cbrt.f64 2) (cbrt.f64 (/.f64 1 (*.f64 im im)))) (+.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 re re)) 1/3) (*.f64 (*.f64 (pow.f64 re 3) (fma.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27))) -1/3))))
(*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2))
(*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2)))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 im (/.f64 (cbrt.f64 2) im)))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 im (/.f64 (cbrt.f64 2) im))) (*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 im (/.f64 (cbrt.f64 2) im))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2))))))
(fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 im (/.f64 (cbrt.f64 2) im))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (*.f64 (/.f64 (pow.f64 im 4) (cbrt.f64 2)) -1/18))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 2)) 1/3) (/.f64 (*.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) (pow.f64 im 6)) (cbrt.f64 2)))) (+.f64 (*.f64 1/6 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 5)) 1/3) (/.f64 (pow.f64 im 2) (cbrt.f64 2)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 re) 1/3) (pow.f64 (cbrt.f64 2) 2)) (*.f64 -1/18 (*.f64 (pow.f64 (/.f64 1 (pow.f64 re 11)) 1/3) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 re re))) (/.f64 (-.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 1/216 (*.f64 (pow.f64 re 5) (pow.f64 (cbrt.f64 2) 6)))) (/.f64 (cbrt.f64 2) (pow.f64 im 6)))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 (*.f64 im im) (cbrt.f64 2))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 re re))) (*.f64 (/.f64 (+.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 -1/864 (pow.f64 re 5))) (cbrt.f64 2)) (pow.f64 im 6))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 im (/.f64 (cbrt.f64 2) im))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 -1/18 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (/.f64 (pow.f64 im 4) (cbrt.f64 2)))))))
(fma.f64 1/3 (/.f64 (*.f64 (cbrt.f64 (/.f64 (/.f64 1 re) re)) (+.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 -1/864 (pow.f64 re 5)))) (/.f64 (cbrt.f64 2) (pow.f64 im 6))) (fma.f64 1/6 (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 5))) (/.f64 im (/.f64 (cbrt.f64 2) im))) (fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 2) 2) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 re 11))) (*.f64 (/.f64 (pow.f64 im 4) (cbrt.f64 2)) -1/18)))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1 (pow.f64 (/.f64 1 im) 1/18))))))
(fma.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (pow.f64 (/.f64 1 im) 1/18))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (pow.f64 (/.f64 1 im) 1/18)) 1/2)))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18))))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (*.f64 3/4 (fma.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (/.f64 (*.f64 2/3 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18))))) im)))))) (sqrt.f64 im) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1 (pow.f64 (/.f64 1 im) 1/18)))))))
(+.f64 (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 im) (*.f64 re (*.f64 re (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/12) (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) im))))))) (sqrt.f64 im))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 (*.f64 re (pow.f64 (/.f64 1 im) 1/18)) 1/2) (*.f64 (+.f64 (*.f64 re (*.f64 re (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) 1/24) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) im))))) 1) (sqrt.f64 im))))
(+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/4 (+.f64 (*.f64 -2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))))) (+.f64 (*.f64 2/27 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)) (*.f64 -2 (/.f64 (+.f64 (*.f64 1/27 (pow.f64 (/.f64 1 (pow.f64 im 2)) 1/3)) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9) (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9)))))) im))))) (+.f64 (*.f64 3/8 (*.f64 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/9))) (*.f64 1/48 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/3)))) (pow.f64 re 3))) (sqrt.f64 im)) (+.f64 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 (+.f64 (*.f64 1/8 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 3/4 (+.f64 (*.f64 -1/9 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/9)) (*.f64 2/3 (/.f64 (-.f64 (*.f64 1/2 (/.f64 1 im)) (*.f64 1/3 (pow.f64 (/.f64 1 im) 1/9))) im))))) (pow.f64 re 2))) (sqrt.f64 im)) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (*.f64 (pow.f64 1 1/6) (pow.f64 (/.f64 1 im) 1/18)))))))
(fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (fma.f64 1/4 (fma.f64 -2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18))) (fma.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) (/.f64 (*.f64 -2 (fma.f64 1/27 (cbrt.f64 (/.f64 1 (*.f64 im im))) (*.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)))))) im))) (fma.f64 3/8 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) (fma.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (/.f64 (*.f64 2/3 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18))))) im))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/48))))) (sqrt.f64 im) (fma.f64 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (*.f64 3/4 (fma.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (/.f64 (*.f64 2/3 (+.f64 (/.f64 1/2 im) (*.f64 -1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18))))) im)))))) (sqrt.f64 im) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (*.f64 1 (pow.f64 (/.f64 1 im) 1/18))))))))
(fma.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (*.f64 (fma.f64 1/4 (fma.f64 -2/3 (*.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18))) (fma.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 -2 (/.f64 (fma.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27 (*.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))))) im)))) (fma.f64 3/8 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) (fma.f64 2/3 (/.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) im) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/9))) (*.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/48))) (sqrt.f64 im))) (+.f64 (*.f64 1/2 (*.f64 re (*.f64 (sqrt.f64 2) (pow.f64 (/.f64 1 im) 1/18)))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 im) (*.f64 re (*.f64 re (fma.f64 1/8 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/12) (*.f64 1/2 (/.f64 (-.f64 (/.f64 1/2 im) (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)))) im))))))) (sqrt.f64 im)))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 re (pow.f64 (/.f64 1 im) 1/18)) 1/2))) (*.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (+.f64 (*.f64 re (*.f64 re (+.f64 (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) 1/24) (*.f64 1/2 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) im))))) (*.f64 (pow.f64 re 3) (fma.f64 1/4 (fma.f64 -2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 14)) 1/18))) (fma.f64 -2 (/.f64 (fma.f64 2/3 (*.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18))) (*.f64 (cbrt.f64 (/.f64 1 (*.f64 im im))) 1/27)) im) (*.f64 2/27 (cbrt.f64 (/.f64 1 (pow.f64 im 5)))))) (fma.f64 (cbrt.f64 (/.f64 1 (pow.f64 im 5))) 1/48 (*.f64 (fma.f64 2/3 (/.f64 (+.f64 (/.f64 1/2 im) (*.f64 (*.f64 (pow.f64 (/.f64 1 im) 1/18) (pow.f64 (/.f64 1 im) 1/18)) -1/3)) im) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 10)) 1/18)) -1/9)) (*.f64 (*.f64 (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18) (pow.f64 (/.f64 1 (pow.f64 im 5)) 1/18)) 3/8))))))))
(*.f64 2 (sqrt.f64 re))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (sqrt.f64 re)))
(fma.f64 2 (sqrt.f64 re) (*.f64 (*.f64 im im) (*.f64 1/4 (sqrt.f64 (/.f64 1 (pow.f64 re 3))))))
(fma.f64 2 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (*.f64 (*.f64 im im) 1/4)))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (sqrt.f64 re)))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (+.f64 (sqrt.f64 re) (*.f64 (+.f64 (/.f64 1/128 (pow.f64 re 4)) (*.f64 1/16 (-.f64 (*.f64 -1/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4)))) (/.f64 2/3 (pow.f64 re 4))))) (*.f64 (pow.f64 im 4) (sqrt.f64 re))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 re) (+.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) (fma.f64 1/16 (+.f64 (/.f64 -1/12 (pow.f64 re 4)) (/.f64 -2/3 (pow.f64 re 4))) (/.f64 1/128 (pow.f64 re 4))))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 re) (+.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/128 (pow.f64 re 4)) (+.f64 (/.f64 -1/192 (pow.f64 re 4)) (/.f64 -1/24 (pow.f64 re 4)))))))))
(+.f64 (*.f64 1/4 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 3))) (pow.f64 im 2))) (+.f64 (*.f64 2 (sqrt.f64 re)) (+.f64 (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/3072 (/.f64 1 (pow.f64 re 6))) (+.f64 (*.f64 1/480 (+.f64 (*.f64 10/9 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 9) (pow.f64 re 6)))) (+.f64 (*.f64 20/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 6))))) (*.f64 120 (/.f64 (-.f64 (*.f64 13/144 (/.f64 1 (pow.f64 re 5))) (*.f64 1/216 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 5))))) re))))) (*.f64 1/128 (/.f64 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))) (pow.f64 re 2))))) (pow.f64 im 6)) (sqrt.f64 re))) (*.f64 2 (*.f64 (*.f64 (+.f64 (*.f64 1/128 (/.f64 1 (pow.f64 re 4))) (*.f64 1/16 (-.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4))))) (*.f64 2/3 (/.f64 1 (pow.f64 re 4)))))) (pow.f64 im 4)) (sqrt.f64 re))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 2 (sqrt.f64 re) (*.f64 2 (+.f64 (*.f64 (+.f64 (/.f64 1/3072 (pow.f64 re 6)) (fma.f64 1/480 (+.f64 (/.f64 10/9 (*.f64 (pow.f64 re 6) (pow.f64 (cbrt.f64 2) 9))) (fma.f64 20/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 6))) (*.f64 120 (/.f64 (-.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 1/216 (*.f64 (pow.f64 re 5) (pow.f64 (cbrt.f64 2) 6)))) re)))) (*.f64 1/128 (/.f64 (-.f64 (*.f64 -1/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4)))) (/.f64 2/3 (pow.f64 re 4))) (*.f64 re re))))) (*.f64 (pow.f64 im 6) (sqrt.f64 re))) (*.f64 (+.f64 (/.f64 1/128 (pow.f64 re 4)) (*.f64 1/16 (-.f64 (*.f64 -1/3 (/.f64 1 (*.f64 (pow.f64 (cbrt.f64 2) 6) (pow.f64 re 4)))) (/.f64 2/3 (pow.f64 re 4))))) (*.f64 (pow.f64 im 4) (sqrt.f64 re)))))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 2 (+.f64 (*.f64 (sqrt.f64 re) (+.f64 (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/3072 (pow.f64 re 6)) (fma.f64 1/128 (-.f64 (/.f64 (/.f64 -1/12 (pow.f64 re 4)) (*.f64 re re)) (/.f64 2/3 (pow.f64 re 6))) (*.f64 1/480 (+.f64 (/.f64 10/9 (*.f64 (pow.f64 re 6) (pow.f64 (cbrt.f64 2) 9))) (fma.f64 120 (/.f64 (+.f64 (/.f64 13/144 (pow.f64 re 5)) (/.f64 -1/864 (pow.f64 re 5))) re) (/.f64 5/3 (pow.f64 re 6)))))))) (*.f64 (pow.f64 im 4) (fma.f64 1/16 (+.f64 (/.f64 -1/12 (pow.f64 re 4)) (/.f64 -2/3 (pow.f64 re 4))) (/.f64 1/128 (pow.f64 re 4)))))) (sqrt.f64 re))))
(fma.f64 1/4 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (*.f64 (sqrt.f64 re) (+.f64 2 (*.f64 2 (+.f64 (*.f64 (pow.f64 im 4) (+.f64 (/.f64 1/128 (pow.f64 re 4)) (+.f64 (/.f64 -1/192 (pow.f64 re 4)) (/.f64 -1/24 (pow.f64 re 4))))) (*.f64 (pow.f64 im 6) (+.f64 (/.f64 1/3072 (pow.f64 re 6)) (fma.f64 1/480 (+.f64 (/.f64 10/9 (*.f64 (pow.f64 re 6) (pow.f64 (cbrt.f64 2) 9))) (+.f64 (/.f64 5/3 (pow.f64 re 6)) (/.f64 (+.f64 (/.f64 65/6 (pow.f64 re 5)) (/.f64 -5/36 (pow.f64 re 5))) re))) (/.f64 (+.f64 (/.f64 -1/1536 (pow.f64 re 4)) (/.f64 -1/192 (pow.f64 re 4))) (*.f64 re re))))))))))
(*.f64 2 im)
(*.f64 im 2)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(*.f64 2 (+.f64 im re))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (*.f64 2 (+.f64 im re)) (/.f64 (*.f64 re re) im))
(fma.f64 2 (+.f64 im re) (/.f64 re (/.f64 im re)))
(fma.f64 2 (+.f64 im re) (*.f64 re (/.f64 re im)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (/.f64 (*.f64 re re) im) (fma.f64 2 im (fma.f64 2 re (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (/.f64 re (/.f64 im re)) (fma.f64 2 (+.f64 im re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 re (/.f64 re im)) (fma.f64 2 (+.f64 im re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(*.f64 4 re)
(*.f64 re 4)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(fma.f64 4 re (/.f64 (*.f64 im im) re))
(fma.f64 re 4 (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(fma.f64 4 re (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)))
(fma.f64 re 4 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(fma.f64 4 re (+.f64 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(fma.f64 re 4 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (/.f64 im (/.f64 re im)))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(neg.f64 (/.f64 (*.f64 im im) re))
(/.f64 (neg.f64 (*.f64 im im)) re)
(*.f64 im (neg.f64 (/.f64 im re)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(fma.f64 -1 (/.f64 (*.f64 im im) re) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))))
(-.f64 (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(fma.f64 -1 (/.f64 (*.f64 im im) re) (fma.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))
(-.f64 (fma.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/8)) (/.f64 im (/.f64 re im)))
(-.f64 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/8 (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))) (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))) (+.f64 (*.f64 1/64 (/.f64 (pow.f64 im 8) (pow.f64 re 7))) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
(fma.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (fma.f64 -1 (/.f64 (*.f64 im im) re) (fma.f64 -1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (fma.f64 1/64 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (*.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)))))))
(fma.f64 1/16 (/.f64 (pow.f64 im 8) (pow.f64 re 7)) (-.f64 (fma.f64 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) -1/8 (fma.f64 1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 1/64 (/.f64 (pow.f64 re 7) (pow.f64 im 8))))) (/.f64 im (/.f64 re im))))
(*.f64 4 re)
(*.f64 re 4)
(+.f64 (*.f64 4 re) (/.f64 (pow.f64 im 2) re))
(fma.f64 4 re (/.f64 (*.f64 im im) re))
(fma.f64 re 4 (/.f64 im (/.f64 re im)))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (/.f64 (pow.f64 im 2) re)))
(fma.f64 4 re (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)))
(fma.f64 re 4 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 im (/.f64 re im))))
(+.f64 (*.f64 4 re) (+.f64 (*.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3))) (+.f64 (/.f64 (pow.f64 im 2) re) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5))))))
(fma.f64 4 re (+.f64 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (/.f64 (*.f64 im im) re)) (*.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)))))
(fma.f64 re 4 (fma.f64 -1/4 (/.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/8 (/.f64 (pow.f64 im 6) (pow.f64 re 5)) (/.f64 im (/.f64 re im)))))
(*.f64 2 im)
(*.f64 im 2)
(+.f64 (*.f64 2 im) (*.f64 2 re))
(*.f64 2 (+.f64 im re))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (*.f64 2 re)))
(+.f64 (*.f64 2 (+.f64 im re)) (/.f64 (*.f64 re re) im))
(fma.f64 2 (+.f64 im re) (/.f64 re (/.f64 im re)))
(fma.f64 2 (+.f64 im re) (*.f64 re (/.f64 re im)))
(+.f64 (/.f64 (pow.f64 re 2) im) (+.f64 (*.f64 2 im) (+.f64 (*.f64 2 re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (/.f64 (*.f64 re re) im) (fma.f64 2 im (fma.f64 2 re (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))))))
(+.f64 (/.f64 re (/.f64 im re)) (fma.f64 2 (+.f64 im re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(+.f64 (*.f64 re (/.f64 re im)) (fma.f64 2 (+.f64 im re) (*.f64 -1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)))))
(*.f64 -2 im)
(*.f64 im -2)
(+.f64 (*.f64 -2 im) (*.f64 2 re))
(fma.f64 -2 im (*.f64 2 re))
(fma.f64 im -2 (*.f64 2 re))
(fma.f64 im -2 (+.f64 re re))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re)))
(fma.f64 -2 im (fma.f64 -1 (/.f64 (*.f64 re re) im) (*.f64 2 re)))
(fma.f64 im -2 (-.f64 (*.f64 2 re) (/.f64 re (/.f64 im re))))
(-.f64 (fma.f64 im -2 (+.f64 re re)) (*.f64 re (/.f64 re im)))
(+.f64 (*.f64 -2 im) (+.f64 (*.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3))) (+.f64 (*.f64 -1 (/.f64 (pow.f64 re 2) im)) (*.f64 2 re))))
(fma.f64 -2 im (fma.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (fma.f64 -1 (/.f64 (*.f64 re re) im) (*.f64 2 re))))
(fma.f64 im -2 (fma.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (-.f64 (*.f64 2 re) (/.f64 re (/.f64 im re)))))
(fma.f64 im -2 (fma.f64 1/4 (/.f64 (pow.f64 re 4) (pow.f64 im 3)) (-.f64 (+.f64 re re) (*.f64 re (/.f64 re im)))))
(+.f64 0 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))) (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 1 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (+.f64 re (hypot.f64 re im))) (cbrt.f64 2))
(*.f64 (cbrt.f64 2) (cbrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/3)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2/3)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2) 1/2)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2) 3/2)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/6)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/9)
(*.f64 (pow.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 8) 1/18) (pow.f64 (*.f64 (pow.f64 (+.f64 re (hypot.f64 re im)) 3) 8) 1/18))
(*.f64 (pow.f64 (*.f64 8 (pow.f64 (+.f64 re (hypot.f64 re im)) 3)) 1/18) (pow.f64 (*.f64 8 (pow.f64 (+.f64 re (hypot.f64 re im)) 3)) 1/18))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 2)
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/3))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 1))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 3))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 2))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) 3/2))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(+.f64 0 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1)
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(*.f64 (sqrt.f64 (+.f64 re (hypot.f64 re im))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re (hypot.f64 re im))))
(*.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 3/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 3/2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 1))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/4))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2)) 1/3))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6)) 3))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4)) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/4) 2))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(+.f64 (+.f64 re (hypot.f64 re im)) (+.f64 re (hypot.f64 re im)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 0 (*.f64 (+.f64 re (hypot.f64 re im)) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 2 re) (*.f64 2 (hypot.f64 re im)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 2 (hypot.f64 re im)) (*.f64 2 re))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 re 2) (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (*.f64 (hypot.f64 re im) 2) (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))) (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(/.f64 (*.f64 2 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3))) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (/.f64 (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)) 2))
(/.f64 (*.f64 2 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3))) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(*.f64 (/.f64 2 (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re))) (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)))
(/.f64 (*.f64 2 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))) (-.f64 re (hypot.f64 re im)))
(/.f64 2 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))))
(*.f64 (/.f64 2 (-.f64 re (hypot.f64 re im))) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (hypot.f64 re im) 3) (pow.f64 re 3)) 2) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)) (/.f64 (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)) 2))
(/.f64 (*.f64 2 (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3))) (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re)))
(*.f64 (/.f64 2 (fma.f64 (hypot.f64 re im) (-.f64 (hypot.f64 re im) re) (*.f64 re re))) (+.f64 (pow.f64 re 3) (pow.f64 (hypot.f64 re im) 3)))
(/.f64 (*.f64 (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)) 2) (-.f64 re (hypot.f64 re im)))
(/.f64 2 (/.f64 (-.f64 re (hypot.f64 re im)) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2))))
(*.f64 (/.f64 2 (-.f64 re (hypot.f64 re im))) (-.f64 (*.f64 re re) (pow.f64 (hypot.f64 re im) 2)))
(pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 3)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 2) 3/2)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 9)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))) 9)
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3/2) 2/3)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/2)
(sqrt.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)))
(fabs.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3) 1/3)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/6) 6)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 1/4) 4)
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 4) 3/4)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))) 4) 3/4)
(sqrt.f64 (*.f64 4 (pow.f64 (+.f64 re (hypot.f64 re im)) 2)))
(fabs.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))
(log.f64 (pow.f64 (exp.f64 2) (+.f64 re (hypot.f64 re im))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1) 1))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)) 1/3) 3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 1) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2))) 3/2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2) 3)) 1/3))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re (hypot.f64 re im)) 2)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 re 2 (*.f64 (hypot.f64 re im) 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 (hypot.f64 re im) 2 (*.f64 re 2))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 2 re (*.f64 2 (hypot.f64 re im)))
(*.f64 2 (+.f64 re (hypot.f64 re im)))
(fma.f64 2 (hypot.f64 re im) (*.f64 2 re))
(*.f64 2 (+.f64 re (hypot.f64 re im)))

localize28.0ms (0.3%)

Compiler

Compiled 19 to 15 computations (21.1% saved)

localize24.0ms (0.2%)

Compiler

Compiled 18 to 12 computations (33.3% saved)

localize30.0ms (0.3%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
93.3%
(/.f64 (*.f64 (neg.f64 im) im) re)
82.2%
(sqrt.f64 (/.f64 (*.f64 (neg.f64 im) im) re))
Compiler

Compiled 34 to 10 computations (70.6% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

12 calls:

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

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1642×pow1
1514×add-exp-log
1512×log1p-expm1-u
1512×expm1-log1p-u
1478×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938
118924
2268324
Stop Event
node limit
Counts
2 → 68
Calls
Call 1
Inputs
(sqrt.f64 (/.f64 (*.f64 (neg.f64 im) im) re))
(/.f64 (*.f64 (neg.f64 im) im) re)
Outputs
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 (/.f64 1 re) 1/2))
(*.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 (/.f64 im re) im)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 1/2))
(/.f64 im (sqrt.f64 re))
(/.f64 im (sqrt.f64 (neg.f64 re)))
(/.f64 im (neg.f64 (sqrt.f64 re)))
(/.f64 1 (sqrt.f64 (/.f64 (/.f64 re im) im)))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(pow.f64 (*.f64 (/.f64 im re) im) 1/2)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/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))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (+.f64 1 (*.f64 (/.f64 im re) im)) 1)
(-.f64 (/.f64 0 (/.f64 re im)) (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 1 (/.f64 re im)))
(*.f64 im (*.f64 im (/.f64 1 re)))
(*.f64 (*.f64 (/.f64 im re) im) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 1 (*.f64 (/.f64 im re) im))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 1 re)))
(*.f64 (*.f64 im im) (/.f64 1 re))
(*.f64 (*.f64 im im) (/.f64 1 (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 1 re) (*.f64 im im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 im re) im)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))
(*.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) 1) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (sqrt.f64 re)) (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 (/.f64 im re) im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(pow.f64 (*.f64 (/.f64 im re) im) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) im) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) im) 3) 1/3)
(pow.f64 (/.f64 (/.f64 re im) im) -1)
(neg.f64 (*.f64 (/.f64 im re) im))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 im re) im) 2))
(log.f64 (exp.f64 (*.f64 (/.f64 im re) im)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im re) im) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 im re) im)))
(exp.f64 (log.f64 (*.f64 (/.f64 im re) im)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 im re) im)))

simplify70.0ms (0.7%)

Algorithm
egg-herbie
Rules
1636×fma-def
1234×log-prod
1162×log-div
872×associate-/l*
734×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01532520
13692188
214461886
361381886
Stop Event
node limit
Counts
104 → 96
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(-.f64 (+.f64 1 (/.f64 im (sqrt.f64 re))) 1)
(*.f64 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 (/.f64 1 re) 1/2))
(*.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 (/.f64 im re) im)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (pow.f64 1 1/2) (/.f64 im (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 1/2))
(/.f64 im (sqrt.f64 re))
(/.f64 im (sqrt.f64 (neg.f64 re)))
(/.f64 im (neg.f64 (sqrt.f64 re)))
(/.f64 1 (sqrt.f64 (/.f64 (/.f64 re im) im)))
(/.f64 1 (/.f64 (sqrt.f64 re) im))
(/.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(pow.f64 (*.f64 (/.f64 im re) im) 1/2)
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/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))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 (+.f64 1 (*.f64 (/.f64 im re) im)) 1)
(-.f64 (/.f64 0 (/.f64 re im)) (*.f64 (/.f64 im re) im))
(*.f64 im (/.f64 1 (/.f64 re im)))
(*.f64 im (*.f64 im (/.f64 1 re)))
(*.f64 (*.f64 (/.f64 im re) im) 1)
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(*.f64 1 (*.f64 (/.f64 im re) im))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 1 re)))
(*.f64 (*.f64 im im) (/.f64 1 re))
(*.f64 (*.f64 im im) (/.f64 1 (neg.f64 re)))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 1 re) (*.f64 im im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 im re) im)
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))
(*.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) 1) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (sqrt.f64 re)) (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 (/.f64 im re) im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(pow.f64 (*.f64 (/.f64 im re) im) 1)
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 3)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) im) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) im) 3) 1/3)
(pow.f64 (/.f64 (/.f64 re im) im) -1)
(neg.f64 (*.f64 (/.f64 im re) im))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 im re) im) 2))
(log.f64 (exp.f64 (*.f64 (/.f64 im re) im)))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im re) im) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 im re) im)))
(exp.f64 (log.f64 (*.f64 (/.f64 im re) im)))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 im re) im)))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (neg.f64 (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.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 im (sqrt.f64 (/.f64 1 re)))
(*.f64 im (pow.f64 (/.f64 1 re) 1/2))
(*.f64 im (sqrt.f64 (/.f64 1 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 (/.f64 im re) im)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (cbrt.f64 (/.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 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (/.f64 im re) im))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(*.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 (/.f64 im re) im)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (sqrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (sqrt.f64 (cbrt.f64 (/.f64 im (/.f64 re im)))))
(/.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 (neg.f64 re)))
(/.f64 im (neg.f64 (sqrt.f64 re)))
(/.f64 1 (sqrt.f64 (/.f64 (/.f64 re im) im)))
(/.f64 1 (sqrt.f64 (/.f64 re (*.f64 im im))))
(/.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 (sqrt.f64 im) (sqrt.f64 (/.f64 re im)))
(pow.f64 (*.f64 (/.f64 im re) im) 1/2)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (/.f64 im (/.f64 re im)))
(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 (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 (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 (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))
(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))
(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))
(-.f64 (+.f64 1 (*.f64 (/.f64 im re) im)) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(-.f64 (/.f64 0 (/.f64 re im)) (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 im (/.f64 1 (/.f64 re im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 im (*.f64 im (/.f64 1 re)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (*.f64 (/.f64 im re) im) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im (sqrt.f64 re)) (/.f64 im (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 1 (*.f64 (/.f64 im re) im))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) (*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 2) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (*.f64 (pow.f64 (cbrt.f64 im) 2) (/.f64 1 re)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (*.f64 im im) (/.f64 1 re))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (*.f64 im im) (/.f64 1 (neg.f64 re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 1 re) (*.f64 im im))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (sqrt.f64 (/.f64 im (sqrt.f64 re)))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im 1) (/.f64 im re))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 im re) im)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 re) 2)) (/.f64 (*.f64 im im) (cbrt.f64 re)))
(*.f64 (/.f64 im (pow.f64 (cbrt.f64 re) 2)) (/.f64 im (cbrt.f64 re)))
(*.f64 (/.f64 1 (sqrt.f64 re)) (/.f64 (*.f64 im im) (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) 1) (/.f64 (pow.f64 (cbrt.f64 im) 2) re))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 (*.f64 (/.f64 im re) im)))
(/.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (cbrt.f64 (*.f64 im (/.f64 im re)))) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (/.f64 (pow.f64 (cbrt.f64 im) 4) (pow.f64 (cbrt.f64 re) 2)))
(/.f64 im (/.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (/.f64 im (/.f64 re im)))) (cbrt.f64 im)))
(*.f64 (/.f64 (pow.f64 (pow.f64 (cbrt.f64 im) 2) 2) (sqrt.f64 re)) (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(*.f64 (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (*.f64 (/.f64 im re) im))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (*.f64 (/.f64 im (sqrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re)))))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 4))
(pow.f64 (*.f64 (/.f64 im re) im) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(pow.f64 (cbrt.f64 (*.f64 (/.f64 im re) im)) 3)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) im) 2) 1/2)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(pow.f64 (pow.f64 (*.f64 (/.f64 im re) im) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(pow.f64 (/.f64 (/.f64 re im) im) -1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(neg.f64 (*.f64 (/.f64 im re) im))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(sqrt.f64 (pow.f64 (*.f64 (/.f64 im re) im) 2))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(log.f64 (exp.f64 (*.f64 (/.f64 im re) im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(cbrt.f64 (pow.f64 (*.f64 (/.f64 im re) im) 3))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(expm1.f64 (log1p.f64 (*.f64 (/.f64 im re) im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(exp.f64 (log.f64 (*.f64 (/.f64 im re) im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))
(log1p.f64 (expm1.f64 (*.f64 (/.f64 im re) im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(/.f64 im (/.f64 re im))

localize74.0ms (0.7%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.5%
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
Compiler

Compiled 22 to 16 computations (27.3% saved)

series3.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite84.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1320×pow1
1212×add-exp-log
1212×log1p-expm1-u
1212×expm1-log1p-u
1182×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
115911
2173011
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
(pow.f64 (sqrt.f64 (*.f64 2 im)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 im))) 2)
(pow.f64 (*.f64 2 im) 1/2)
(sqrt.f64 (*.f64 2 im))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))

simplify57.0ms (0.6%)

Algorithm
egg-herbie
Rules
1208×log-prod
800×exp-prod
662×fma-neg
654×exp-sum
486×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
030276
166204
2264132
31712132
43958132
55820132
Stop Event
node limit
Counts
12 → 14
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
(pow.f64 (sqrt.f64 (*.f64 2 im)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 im))) 2)
(pow.f64 (*.f64 2 im) 1/2)
(sqrt.f64 (*.f64 2 im))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 2 im))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (sqrt.f64 (*.f64 2 im)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 2 im))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (sqrt.f64 (sqrt.f64 (*.f64 2 im))) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(pow.f64 (*.f64 2 im) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(sqrt.f64 (*.f64 2 im))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(log.f64 (exp.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 2 im)) 3))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 2 im))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 im)) 1))
(+.f64 (sqrt.f64 (*.f64 2 im)) 0)
(sqrt.f64 (*.f64 2 im))

eval205.0ms (2.1%)

Compiler

Compiled 10447 to 7248 computations (30.6% saved)

prune110.0ms (1.1%)

Pruning

15 alts after pruning (10 fresh and 5 done)

PrunedKeptTotal
New4467453
Fresh033
Picked011
Done145
Total44715462
Accurracy
95.3%
Counts
462 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
25.6%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re im) 2)) 3/2))
22.1%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2))
24.0%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2))
27.9%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im -2)) 3/2))
18.3%
(*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re))))
23.1%
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
22.4%
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
18.9%
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 (neg.f64 im) im) re)))
7.0%
(*.f64 1/2 (sqrt.f64 (/.f64 im (/.f64 re im))))
23.7%
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
25.8%
(*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
22.9%
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
28.3%
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
75.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
23.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
Compiler

Compiled 262 to 211 computations (19.5% saved)

localize41.0ms (0.4%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.6%
(pow.f64 (cbrt.f64 (*.f64 im -2)) 3/2)
99.6%
(cbrt.f64 (*.f64 im -2))
Compiler

Compiled 28 to 23 computations (17.9% saved)

series5.0ms (0.1%)

Counts
2 → 0
Calls

6 calls:

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

rewrite68.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1492×pow1
1396×add-exp-log
1396×log1p-expm1-u
1396×expm1-log1p-u
1364×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0928
118322
2203922
Stop Event
node limit
Counts
2 → 38
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 im -2))
(pow.f64 (cbrt.f64 (*.f64 im -2)) 3/2)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 im -2))) 1)
(*.f64 (cbrt.f64 (*.f64 im -2)) 1)
(*.f64 1 (cbrt.f64 (*.f64 im -2)))
(*.f64 (cbrt.f64 -2) (cbrt.f64 im))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (cbrt.f64 im) (cbrt.f64 -2))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(pow.f64 (*.f64 im -2) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im -2)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3)
(pow.f64 (pow.f64 (*.f64 im -2) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 im -2))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 im -2))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 im -2))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 im -2))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) 1)
(*.f64 (cbrt.f64 (*.f64 im -2)) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (sqrt.f64 (*.f64 im -2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 im -2)))
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (cbrt.f64 (*.f64 im -2)))
(*.f64 (sqrt.f64 im) (sqrt.f64 -2))
(*.f64 (pow.f64 (*.f64 im -2) 1/4) (pow.f64 (*.f64 im -2) 1/4))
(*.f64 (pow.f64 1 3/2) (sqrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2))
(*.f64 (pow.f64 (cbrt.f64 im) 3/2) (pow.f64 (cbrt.f64 -2) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 im -2) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 im -2) 1/6) 3/2))
(sqrt.f64 (*.f64 im -2))
(fabs.f64 (sqrt.f64 (*.f64 im -2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im -2))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im -2)) 3))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im -2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im -2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im -2))))

simplify60.0ms (0.6%)

Algorithm
egg-herbie
Rules
816×fma-def
710×log-prod
666×exp-prod
628×*-commutative
584×exp-sum
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
080876
1149684
2430492
31873484
44844484
Stop Event
node limit
Counts
38 → 44
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 im -2))) 1)
(*.f64 (cbrt.f64 (*.f64 im -2)) 1)
(*.f64 1 (cbrt.f64 (*.f64 im -2)))
(*.f64 (cbrt.f64 -2) (cbrt.f64 im))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (cbrt.f64 im) (cbrt.f64 -2))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(pow.f64 (*.f64 im -2) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im -2)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3)
(pow.f64 (pow.f64 (*.f64 im -2) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 im -2))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 im -2))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 im -2))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 im -2))))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) 1)
(*.f64 (cbrt.f64 (*.f64 im -2)) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (sqrt.f64 (*.f64 im -2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 im -2)))
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (cbrt.f64 (*.f64 im -2)))
(*.f64 (sqrt.f64 im) (sqrt.f64 -2))
(*.f64 (pow.f64 (*.f64 im -2) 1/4) (pow.f64 (*.f64 im -2) 1/4))
(*.f64 (pow.f64 1 3/2) (sqrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2))
(*.f64 (pow.f64 (cbrt.f64 im) 3/2) (pow.f64 (cbrt.f64 -2) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 im -2) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 im -2) 1/6) 3/2))
(sqrt.f64 (*.f64 im -2))
(fabs.f64 (sqrt.f64 (*.f64 im -2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im -2))))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im -2)) 3))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im -2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im -2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im -2))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 im -2))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(*.f64 (cbrt.f64 (*.f64 im -2)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(*.f64 1 (cbrt.f64 (*.f64 im -2)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(*.f64 (cbrt.f64 -2) (cbrt.f64 im))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(*.f64 (cbrt.f64 im) (cbrt.f64 -2))
(*.f64 (cbrt.f64 -2) (cbrt.f64 im))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (pow.f64 (*.f64 im -2) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 im -2)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(pow.f64 (*.f64 im -2) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(pow.f64 (cbrt.f64 (*.f64 im -2)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(pow.f64 (pow.f64 (*.f64 im -2) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 im -2)) 1))
(+.f64 (cbrt.f64 (*.f64 im -2)) 0)
(cbrt.f64 (*.f64 im -2))
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(*.f64 (cbrt.f64 (*.f64 im -2)) (pow.f64 (*.f64 im -2) 1/6))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(*.f64 (sqrt.f64 (*.f64 im -2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(*.f64 1 (sqrt.f64 (*.f64 im -2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (cbrt.f64 (*.f64 im -2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(*.f64 (sqrt.f64 im) (sqrt.f64 -2))
(*.f64 (sqrt.f64 -2) (sqrt.f64 im))
(*.f64 (pow.f64 (*.f64 im -2) 1/4) (pow.f64 (*.f64 im -2) 1/4))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(*.f64 (pow.f64 1 3/2) (sqrt.f64 (*.f64 im -2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 3/2))
(*.f64 (pow.f64 (cbrt.f64 im) 3/2) (pow.f64 (cbrt.f64 -2) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 im -2) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 im -2) 1/6) 3/2))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(sqrt.f64 (*.f64 im -2))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(fabs.f64 (sqrt.f64 (*.f64 im -2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im -2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im -2)) 3))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im -2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im -2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im -2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im -2))) -1)
(+.f64 (sqrt.f64 (*.f64 im -2)) 0)
(sqrt.f64 (*.f64 im -2))

localize25.0ms (0.3%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.6%
(sqrt.f64 (*.f64 im 2))
Compiler

Compiled 19 to 15 computations (21.1% saved)

series1.0ms (0%)

Counts
1 → 0
Calls

3 calls:

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

rewrite70.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1192×pow1
1096×add-exp-log
1096×log1p-expm1-u
1096×expm1-log1p-u
1070×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
113911
2153911
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 im 2))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) 1)
(*.f64 (sqrt.f64 (*.f64 im 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 im 2)))
(*.f64 (cbrt.f64 (*.f64 im 2)) (cbrt.f64 (sqrt.f64 (*.f64 im 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) (cbrt.f64 (*.f64 im 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (pow.f64 (*.f64 im 2) 1/4) (pow.f64 (*.f64 im 2) 1/4))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 im 2))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 im 2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 im im))) 1/2) (pow.f64 (cbrt.f64 (*.f64 im 2)) 1/2))
(pow.f64 (*.f64 im 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) 3)
(pow.f64 (pow.f64 (*.f64 im 2) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 im 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 im 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im 2))))
(cbrt.f64 (pow.f64 (*.f64 im 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im 2))))

simplify68.0ms (0.7%)

Algorithm
egg-herbie
Rules
1096×fma-def
984×exp-sum
898×exp-prod
870×log-prod
640×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
055530
1101446
2250362
3822362
42708362
56499362
Stop Event
node limit
Counts
22 → 26
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) 1)
(*.f64 (sqrt.f64 (*.f64 im 2)) 1)
(*.f64 1 (sqrt.f64 (*.f64 im 2)))
(*.f64 (cbrt.f64 (*.f64 im 2)) (cbrt.f64 (sqrt.f64 (*.f64 im 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) (cbrt.f64 (*.f64 im 2)))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (pow.f64 (*.f64 im 2) 1/4) (pow.f64 (*.f64 im 2) 1/4))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 im 2))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 im 2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 im im))) 1/2) (pow.f64 (cbrt.f64 (*.f64 im 2)) 1/2))
(pow.f64 (*.f64 im 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 im 2)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) 3)
(pow.f64 (pow.f64 (*.f64 im 2) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 im 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 im 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im 2))))
(cbrt.f64 (pow.f64 (*.f64 im 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im 2))))
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(*.f64 (sqrt.f64 (*.f64 im 2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(*.f64 1 (sqrt.f64 (*.f64 im 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(*.f64 (cbrt.f64 (*.f64 im 2)) (cbrt.f64 (sqrt.f64 (*.f64 im 2))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) (cbrt.f64 (*.f64 im 2)))
(*.f64 (cbrt.f64 (*.f64 im 2)) (cbrt.f64 (sqrt.f64 (*.f64 im 2))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (pow.f64 (*.f64 im 2) 1/4) (pow.f64 (*.f64 im 2) 1/4))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(*.f64 (sqrt.f64 im) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 im 2))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (*.f64 im 4)))) (sqrt.f64 (cbrt.f64 (*.f64 im 2))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 im 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 4 (*.f64 im im))) 1/2) (pow.f64 (cbrt.f64 (*.f64 im 2)) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 4 (*.f64 im im)))) (sqrt.f64 (cbrt.f64 (*.f64 im 2))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 im (*.f64 im 4)))) (sqrt.f64 (cbrt.f64 (*.f64 im 2))))
(pow.f64 (*.f64 im 2) 1/2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (sqrt.f64 (*.f64 im 2)) 1)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 im 2))) 3)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(pow.f64 (pow.f64 (*.f64 im 2) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 im 2) 3/2))
(pow.f64 (pow.f64 (*.f64 im 2) 1/4) 2)
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(fabs.f64 (sqrt.f64 (*.f64 im 2)))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(cbrt.f64 (pow.f64 (*.f64 im 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im 2))))
(+.f64 (+.f64 1 (sqrt.f64 (*.f64 im 2))) -1)
(+.f64 (sqrt.f64 (*.f64 im 2)) 0)
(sqrt.f64 (*.f64 im 2))

localize33.0ms (0.3%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.6%
(sqrt.f64 (*.f64 (+.f64 im re) 2))
Compiler

Compiled 29 to 16 computations (44.8% saved)

series3.0ms (0%)

Counts
1 → 8
Calls

6 calls:

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

rewrite63.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1886×pow1
1748×add-exp-log
1746×log1p-expm1-u
1746×expm1-log1p-u
1714×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0917
118917
2239517
Stop Event
node limit
Counts
1 → 22
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (+.f64 im re) 2))
Outputs
(-.f64 (+.f64 1 (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 (*.f64 (+.f64 im re) 2)) (cbrt.f64 (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 (pow.f64 (*.f64 (+.f64 im re) 2) 1/4) (pow.f64 (*.f64 (+.f64 im re) 2) 1/4))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 im re)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 im re) 2))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 im re) 2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 2) 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 (+.f64 im re) 2)) 1/2))
(pow.f64 (*.f64 (+.f64 im re) 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))

simplify74.0ms (0.7%)

Algorithm
egg-herbie
Rules
1946×distribute-lft-out
976×unswap-sqr
826×distribute-rgt-in
788×distribute-lft-in
716×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01091286
12501202
26911078
325211022
445711022
Stop Event
node limit
Counts
30 → 63
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (sqrt.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(-.f64 (+.f64 1 (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 (*.f64 (+.f64 im re) 2)) (cbrt.f64 (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 (pow.f64 (*.f64 (+.f64 im re) 2) 1/4) (pow.f64 (*.f64 (+.f64 im re) 2) 1/4))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 im re)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 im re) 2))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 im re) 2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 2) 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 (+.f64 im re) 2)) 1/2))
(pow.f64 (*.f64 (+.f64 im re) 2) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))) 3)
(pow.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
Outputs
(*.f64 (sqrt.f64 2) (sqrt.f64 re))
(+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 1/2 im))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re))))))
(fma.f64 (sqrt.f64 2) (*.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 im (+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8) (*.f64 1/2 (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 2)) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (+.f64 (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 im 3)) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 re)) (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) im) (sqrt.f64 (/.f64 1 re)))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 im (sqrt.f64 (/.f64 1 re))))))))
(fma.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (*.f64 im im)) (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) (fma.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 im 3) (sqrt.f64 (/.f64 1 (pow.f64 re 5))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 re) (*.f64 (*.f64 1/2 (sqrt.f64 2)) (*.f64 im (sqrt.f64 (/.f64 1 re)))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 -1/8 (*.f64 (*.f64 im im) (sqrt.f64 (/.f64 1 (pow.f64 re 3))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 1/16 (pow.f64 im 3))))))
(*.f64 (sqrt.f64 2) (+.f64 (*.f64 im (+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 3)))) -1/8) (*.f64 1/2 (sqrt.f64 (/.f64 1 re))))) (+.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 re 5))) (*.f64 1/16 (pow.f64 im 3))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im (sqrt.f64 (/.f64 1 re))))) (*.f64 (*.f64 im im) (+.f64 (*.f64 (*.f64 im (sqrt.f64 (/.f64 1 (pow.f64 re 5)))) 1/16) (*.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 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 im))) re)))
(+.f64 (*.f64 -1/8 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 2)) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 2) (sqrt.f64 im))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))))))
(fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/8 (*.f64 re re))))))
(*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 3)))) -1/8) (*.f64 1/2 (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 (*.f64 1/2 (*.f64 (*.f64 (sqrt.f64 2) re) (sqrt.f64 (/.f64 1 im)))) (+.f64 (*.f64 (sqrt.f64 2) (sqrt.f64 im)) (*.f64 1/16 (*.f64 (*.f64 (sqrt.f64 2) (pow.f64 re 3)) (sqrt.f64 (/.f64 1 (pow.f64 im 5))))))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 (*.f64 1/16 (*.f64 (sqrt.f64 2) (pow.f64 re 3))) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))
(fma.f64 -1/8 (*.f64 (sqrt.f64 2) (*.f64 (*.f64 re re) (sqrt.f64 (/.f64 1 (pow.f64 im 3))))) (fma.f64 1/2 (*.f64 (sqrt.f64 2) (*.f64 re (sqrt.f64 (/.f64 1 im)))) (fma.f64 (sqrt.f64 2) (sqrt.f64 im) (*.f64 1/16 (*.f64 (sqrt.f64 2) (*.f64 (pow.f64 re 3) (sqrt.f64 (/.f64 1 (pow.f64 im 5)))))))))
(+.f64 (*.f64 (sqrt.f64 2) (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im)))))) (*.f64 (sqrt.f64 2) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 5))) (*.f64 (pow.f64 re 3) 1/16)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 im 3))) (*.f64 -1/8 (*.f64 re re))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) (*.f64 (*.f64 re re) (+.f64 (*.f64 (*.f64 re (sqrt.f64 (/.f64 1 (pow.f64 im 5)))) 1/16) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 im 3))))))))
(*.f64 (sqrt.f64 2) (+.f64 (+.f64 (sqrt.f64 im) (*.f64 re (*.f64 1/2 (sqrt.f64 (/.f64 1 im))))) (*.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 (+.f64 im re) 2))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(*.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(*.f64 1 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(*.f64 (cbrt.f64 (*.f64 (+.f64 im re) 2)) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re im))) (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))) (cbrt.f64 (*.f64 (+.f64 im re) 2)))
(*.f64 (cbrt.f64 (*.f64 2 (+.f64 re im))) (cbrt.f64 (sqrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 1/4) (pow.f64 (*.f64 (+.f64 im re) 2) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re im)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 im re)))
(*.f64 (sqrt.f64 2) (sqrt.f64 (+.f64 re im)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 im re) 2))))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 re im) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re im)))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (+.f64 im re) 2)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 im re) 2) 4)) 1/2) (pow.f64 (cbrt.f64 (*.f64 (+.f64 im re) 2)) 1/2))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 (pow.f64 (+.f64 re im) 2) 4))) (sqrt.f64 (cbrt.f64 (*.f64 2 (+.f64 re im)))))
(pow.f64 (*.f64 (+.f64 im re) 2) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(pow.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 3/2) 1/3)
(cbrt.f64 (pow.f64 (*.f64 2 (+.f64 re im)) 3/2))
(pow.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(fabs.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 im re) 2) 3/2))
(cbrt.f64 (pow.f64 (*.f64 2 (+.f64 re im)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (+.f64 im re) 2))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 1))
(+.f64 (sqrt.f64 (*.f64 2 (+.f64 re im))) 0)
(sqrt.f64 (*.f64 2 (+.f64 re im)))

localize51.0ms (0.5%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.9%
(*.f64 (/.f64 im re) (neg.f64 im))
82.2%
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
Compiler

Compiled 33 to 10 computations (69.7% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

12 calls:

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

rewrite59.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1668×pow1
1536×add-exp-log
1534×log1p-expm1-u
1534×expm1-log1p-u
1500×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0938
118924
2255324
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im)))
(*.f64 (/.f64 im re) (neg.f64 im))
Outputs
(-.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 (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.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 (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 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/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))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 0 (*.f64 im (/.f64 im 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 (*.f64 im 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 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(neg.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 (/.f64 im re)) im))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 im re) 3) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 im re) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))

simplify64.0ms (0.6%)

Algorithm
egg-herbie
Rules
1654×fma-def
1254×log-prod
1000×unswap-sqr
826×log-div
702×times-frac
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01081852
12451618
29281384
352451384
Stop Event
node limit
Counts
82 → 61
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(-.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 (/.f64 im re))) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 im (sqrt.f64 re))) (sqrt.f64 (/.f64 im (sqrt.f64 re))))
(*.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 (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 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/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))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
(-.f64 0 (*.f64 im (/.f64 im 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 (*.f64 im 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 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(neg.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 (/.f64 im re)) im))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 im re) 3) (pow.f64 im 3)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 im re) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.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 (/.f64 im re))) (cbrt.f64 (/.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 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 re)) (sqrt.f64 im))
(*.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 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 (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 (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 (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))
(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))
(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))
(-.f64 0 (*.f64 im (/.f64 im re)))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(-.f64 (+.f64 1 (*.f64 im (/.f64 im re))) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(/.f64 im (/.f64 re im))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(/.f64 1 (/.f64 re (*.f64 im im)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) re)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) (neg.f64 re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(/.f64 (/.f64 (*.f64 im im) 1) re)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(/.f64 (/.f64 (*.f64 im im) (sqrt.f64 re)) (sqrt.f64 re))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 im (sqrt.f64 re)) 2)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(neg.f64 (*.f64 im (/.f64 im re)))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 (/.f64 im re) (neg.f64 im))
(*.f64 im (/.f64 (neg.f64 im) re))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(log.f64 (pow.f64 (exp.f64 (/.f64 im re)) im))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 im re) 3) (pow.f64 im 3)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (/.f64 im re) 3)))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(+.f64 1 (-.f64 (*.f64 im (/.f64 im re)) 1))
(+.f64 (*.f64 im (/.f64 im re)) 0)
(*.f64 im (/.f64 im re))

localize40.0ms (0.4%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.7%
(pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2)
99.6%
(cbrt.f64 (*.f64 re 4))
Compiler

Compiled 28 to 23 computations (17.9% saved)

series4.0ms (0%)

Counts
2 → 0
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@0
(pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2)
1.0ms
re
@-inf
(pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2)
1.0ms
re
@inf
(pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2)
1.0ms
re
@0
(cbrt.f64 (*.f64 re 4))
0.0ms
re
@-inf
(cbrt.f64 (*.f64 re 4))

rewrite68.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1472×pow1
1378×add-exp-log
1378×log1p-expm1-u
1378×expm1-log1p-u
1346×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0928
118322
2202022
Stop Event
node limit
Counts
2 → 38
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 re 4))
(pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) 1)
(*.f64 1 (cbrt.f64 (*.f64 re 4)))
(*.f64 (cbrt.f64 4) (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(*.f64 (cbrt.f64 re) (cbrt.f64 4))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 re 4)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(pow.f64 (*.f64 re 4) 1/3)
(pow.f64 (cbrt.f64 (*.f64 re 4)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3)
(pow.f64 (pow.f64 (*.f64 re 4) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 re 4))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 re 4))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 re 4))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 re 4))))
(-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (*.f64 2 (sqrt.f64 re)) 1)
(*.f64 1 (*.f64 2 (sqrt.f64 re)))
(*.f64 2 (sqrt.f64 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (cbrt.f64 (*.f64 re 4)))
(*.f64 (sqrt.f64 re) 2)
(*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/4))
(*.f64 (pow.f64 1 3/2) (*.f64 2 (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3/2))
(*.f64 (pow.f64 (cbrt.f64 re) 3/2) (pow.f64 (cbrt.f64 4) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2))
(sqrt.f64 (*.f64 re 4))
(fabs.f64 (*.f64 2 (sqrt.f64 re)))
(log.f64 (exp.f64 (*.f64 2 (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 2 (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re))))
(exp.f64 (log.f64 (*.f64 2 (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 2 (sqrt.f64 re))))

simplify59.0ms (0.6%)

Algorithm
egg-herbie
Rules
748×fma-def
646×*-commutative
624×log-prod
578×exp-prod
568×exp-sum
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
079892
1163688
2491484
31987476
44776476
Stop Event
node limit
Counts
38 → 44
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) 1)
(*.f64 1 (cbrt.f64 (*.f64 re 4)))
(*.f64 (cbrt.f64 4) (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(*.f64 (cbrt.f64 re) (cbrt.f64 4))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 re 4)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(pow.f64 (*.f64 re 4) 1/3)
(pow.f64 (cbrt.f64 (*.f64 re 4)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3)
(pow.f64 (pow.f64 (*.f64 re 4) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 re 4))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 re 4))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 re 4))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 re 4))))
(-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (*.f64 2 (sqrt.f64 re)) 1)
(*.f64 1 (*.f64 2 (sqrt.f64 re)))
(*.f64 2 (sqrt.f64 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (cbrt.f64 (*.f64 re 4)))
(*.f64 (sqrt.f64 re) 2)
(*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/4))
(*.f64 (pow.f64 1 3/2) (*.f64 2 (sqrt.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3/2))
(*.f64 (pow.f64 (cbrt.f64 re) 3/2) (pow.f64 (cbrt.f64 4) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2))
(sqrt.f64 (*.f64 re 4))
(fabs.f64 (*.f64 2 (sqrt.f64 re)))
(log.f64 (exp.f64 (*.f64 2 (sqrt.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 2 (sqrt.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re))))
(exp.f64 (log.f64 (*.f64 2 (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 2 (sqrt.f64 re))))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(*.f64 (cbrt.f64 (*.f64 re 4)) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(*.f64 1 (cbrt.f64 (*.f64 re 4)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(*.f64 (cbrt.f64 re) (cbrt.f64 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (pow.f64 (*.f64 re 4) 1/6))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 re 4)))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(pow.f64 (*.f64 re 4) 1/3)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(pow.f64 (cbrt.f64 (*.f64 re 4)) 1)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(pow.f64 (pow.f64 (*.f64 re 4) 1/6) 2)
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) -1)
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 re 4))
(-.f64 (+.f64 1 (*.f64 2 (sqrt.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 (cbrt.f64 (*.f64 re 4)) (pow.f64 (*.f64 re 4) 1/6))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 (*.f64 2 (sqrt.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 1 (*.f64 2 (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (cbrt.f64 (*.f64 re 4)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 (sqrt.f64 re) 2)
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/4))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 (pow.f64 1 3/2) (*.f64 2 (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3/2))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) 3/2))
(*.f64 (pow.f64 (cbrt.f64 re) 3/2) (pow.f64 (cbrt.f64 4) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 re 4))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(fabs.f64 (*.f64 2 (sqrt.f64 re)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(log.f64 (exp.f64 (*.f64 2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(cbrt.f64 (pow.f64 (*.f64 2 (sqrt.f64 re)) 3))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(expm1.f64 (log1p.f64 (*.f64 2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(exp.f64 (log.f64 (*.f64 2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(log1p.f64 (expm1.f64 (*.f64 2 (sqrt.f64 re))))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))

eval69.0ms (0.7%)

Compiler

Compiled 3225 to 2436 computations (24.5% saved)

prune46.0ms (0.5%)

Pruning

21 alts after pruning (11 fresh and 10 done)

PrunedKeptTotal
New2317238
Fresh145
Picked011
Done099
Total23221253
Accurracy
95.3%
Counts
253 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
20.5%
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/3) 3/2))
26.3%
(*.f64 1/2 (pow.f64 (exp.f64 (log.f64 (cbrt.f64 (*.f64 im -2)))) 3/2))
25.6%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re im) 2)) 3/2))
22.1%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2))
24.0%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2))
27.9%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im -2)) 3/2))
18.3%
(*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re))))
27.6%
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)))
26.0%
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 2)))
23.1%
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
22.4%
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
18.9%
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 (neg.f64 im) im) re)))
6.8%
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
23.7%
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
25.8%
(*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
22.9%
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
28.3%
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
75.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
23.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
26.3%
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 im -2)))))
21.6%
(*.f64 1/2 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im -2)) 3)))
Compiler

Compiled 365 to 306 computations (16.2% saved)

localize163.0ms (1.6%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.7%
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
99.6%
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
99.6%
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
99.6%
(cbrt.f64 (*.f64 im -2))
Compiler

Compiled 79 to 68 computations (13.9% saved)

series148.0ms (1.5%)

Counts
3 → 36
Calls

9 calls:

TimeVariablePointExpression
59.0ms
im
@inf
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
32.0ms
im
@0
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
32.0ms
im
@0
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
15.0ms
im
@-inf
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
6.0ms
im
@inf
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))

rewrite334.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
1812×pow1
1686×add-exp-log
1686×log1p-expm1-u
1686×expm1-log1p-u
1644×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01257
124149
2257049
Stop Event
node limit
Counts
3 → 55
Calls
Call 1
Inputs
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1)
(*.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 im)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (pow.f64 (cbrt.f64 im) 1/3) (pow.f64 (cbrt.f64 -2) 1/3))
(pow.f64 (*.f64 im -2) 1/9)
(pow.f64 (cbrt.f64 (*.f64 im -2)) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(fabs.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1)
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(*.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(-.f64 (+.f64 1 (pow.f64 (*.f64 im -2) 1/6)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) 1)
(*.f64 1 (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/4) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/4))
(*.f64 (sqrt.f64 (cbrt.f64 im)) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 1 3/2) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3/2))
(sqrt.f64 (cbrt.f64 (*.f64 im -2)))
(fabs.f64 (pow.f64 (*.f64 im -2) 1/6))
(log.f64 (exp.f64 (pow.f64 (*.f64 im -2) 1/6)))
(cbrt.f64 (sqrt.f64 (*.f64 im -2)))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 im -2) 1/6)))
(exp.f64 (log.f64 (pow.f64 (*.f64 im -2) 1/6)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 im -2) 1/6)))

simplify79.0ms (0.8%)

Algorithm
egg-herbie
Rules
976×fma-def
882×unswap-sqr
786×exp-prod
724×exp-sum
710×sqr-pow
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01402939
12702617
27792347
327082317
459632317
Stop Event
node limit
Counts
91 → 85
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1)
(*.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(*.f64 (cbrt.f64 (cbrt.f64 im)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (pow.f64 (cbrt.f64 im) 1/3) (pow.f64 (cbrt.f64 -2) 1/3))
(pow.f64 (*.f64 im -2) 1/9)
(pow.f64 (cbrt.f64 (*.f64 im -2)) 1/3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(fabs.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1)
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(*.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(-.f64 (+.f64 1 (pow.f64 (*.f64 im -2) 1/6)) 1)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) 1)
(*.f64 1 (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/4) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/4))
(*.f64 (sqrt.f64 (cbrt.f64 im)) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 1 3/2) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3/2))
(sqrt.f64 (cbrt.f64 (*.f64 im -2)))
(fabs.f64 (pow.f64 (*.f64 im -2) 1/6))
(log.f64 (exp.f64 (pow.f64 (*.f64 im -2) 1/6)))
(cbrt.f64 (sqrt.f64 (*.f64 im -2)))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 im -2) 1/6)))
(exp.f64 (log.f64 (pow.f64 (*.f64 im -2) 1/6)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 im -2) 1/6)))
Outputs
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) im) 1/9) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (*.f64 (pow.f64 im 1/18) (pow.f64 im 1/18)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 im) 1/18) (pow.f64 (neg.f64 im) 1/18)) (cbrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/18) (*.f64 (cbrt.f64 (cbrt.f64 2)) (pow.f64 (neg.f64 im) 1/18)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 im) 1/18) (pow.f64 (neg.f64 im) 1/18)) (cbrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/18) (*.f64 (cbrt.f64 (cbrt.f64 2)) (pow.f64 (neg.f64 im) 1/18)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 im) 1/18) (pow.f64 (neg.f64 im) 1/18)) (cbrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/18) (*.f64 (cbrt.f64 (cbrt.f64 2)) (pow.f64 (neg.f64 im) 1/18)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/9) (pow.f64 (*.f64 1 (cbrt.f64 2)) 1/3))
(*.f64 (*.f64 (pow.f64 (neg.f64 im) 1/18) (pow.f64 (neg.f64 im) 1/18)) (cbrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/18) (*.f64 (cbrt.f64 (cbrt.f64 2)) (pow.f64 (neg.f64 im) 1/18)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 -2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2)))
(*.f64 (pow.f64 (*.f64 im im) 1/18) (*.f64 (pow.f64 (*.f64 im im) 1/18) (cbrt.f64 (pow.f64 (cbrt.f64 -2) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 2) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 2) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 2) 2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 1 4) (pow.f64 im 2)) 1/9) (pow.f64 (pow.f64 (cbrt.f64 2) 2) 1/3))
(*.f64 (*.f64 (pow.f64 (*.f64 im im) 1/18) (pow.f64 (*.f64 im im) 1/18)) (cbrt.f64 (pow.f64 (cbrt.f64 2) 2)))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 1 im) 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (pow.f64 im 1/6) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (pow.f64 im 1/6))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (*.f64 -1 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(*.f64 (pow.f64 (neg.f64 im) 1/6) (sqrt.f64 (cbrt.f64 2)))
(-.f64 (+.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 1 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (cbrt.f64 (cbrt.f64 im)) (cbrt.f64 (cbrt.f64 -2)))
(*.f64 (cbrt.f64 (cbrt.f64 -2)) (cbrt.f64 (cbrt.f64 im)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2)))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (cbrt.f64 im) 1/3) (pow.f64 (cbrt.f64 -2) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 -2)) (cbrt.f64 (cbrt.f64 im)))
(pow.f64 (*.f64 im -2) 1/9)
(*.f64 (pow.f64 (*.f64 im -2) 1/18) (pow.f64 (*.f64 im -2) 1/18))
(pow.f64 (cbrt.f64 (*.f64 im -2)) 1/3)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1/2)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 3)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(fabs.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(log.f64 (exp.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(expm1.f64 (log1p.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(log1p.f64 (expm1.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1))
(+.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 0)
(cbrt.f64 (cbrt.f64 (*.f64 im -2)))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(*.f64 (pow.f64 (*.f64 im -2) 1/6) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 1 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (*.f64 im -2) 1/6))
(*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2)) (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 4))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 0)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2)
(-.f64 (+.f64 1 (pow.f64 (*.f64 im -2) 1/6)) 1)
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
(sqrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (*.f64 im -2) 1/6) 1)
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(*.f64 1 (pow.f64 (*.f64 im -2) 1/6))
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (cbrt.f64 (cbrt.f64 (*.f64 im -2))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
(sqrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/4) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/4))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
(sqrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (sqrt.f64 (cbrt.f64 im)) (sqrt.f64 (cbrt.f64 -2)))
(*.f64 (sqrt.f64 (cbrt.f64 -2)) (sqrt.f64 (cbrt.f64 im)))
(*.f64 (pow.f64 1 3/2) (pow.f64 (*.f64 im -2) 1/6))
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 3/2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 2) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3/2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3/2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
(sqrt.f64 (cbrt.f64 (*.f64 im -2)))
(sqrt.f64 (cbrt.f64 (*.f64 im -2)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im -2)) 1/6) 3)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)
(fabs.f64 (pow.f64 (*.f64 im -2) 1/6))
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(log.f64 (exp.f64 (pow.f64 (*.f64 im -2) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(cbrt.f64 (sqrt.f64 (*.f64 im -2)))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 im -2) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(exp.f64 (log.f64 (pow.f64 (*.f64 im -2) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 im -2) 1/6)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 im -2) 1/6) 1))
(+.f64 (pow.f64 (*.f64 im -2) 1/6) 0)
(pow.f64 (*.f64 im -2) 1/6)

localize33.0ms (0.3%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.8%
(/.f64 im (sqrt.f64 (neg.f64 re)))
Compiler

Compiled 23 to 9 computations (60.9% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

6 calls:

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

rewrite88.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1466×pow1
1352×add-exp-log
1350×log1p-expm1-u
1350×expm1-log1p-u
1318×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0815
116511
2213811
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(/.f64 im (sqrt.f64 (neg.f64 re)))
Outputs
(-.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 (cbrt.f64 (*.f64 im im)) (*.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 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/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))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))

simplify51.0ms (0.5%)

Algorithm
egg-herbie
Rules
860×fma-def
840×log-prod
714×associate-*r*
638×associate-*l*
590×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0871088
1195968
2596866
33479842
Stop Event
node limit
Counts
42 → 53
Calls
Call 1
Inputs
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 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 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 (cbrt.f64 (*.f64 im im)) (*.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 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(*.f64 (/.f64 1 (pow.f64 re 1/4)) (/.f64 im (pow.f64 re 1/4)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (sqrt.f64 im) (cbrt.f64 re)) (/.f64 (sqrt.f64 im) (cbrt.f64 (sqrt.f64 re))))
(pow.f64 (/.f64 im (sqrt.f64 re)) 1)
(pow.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) 3)
(pow.f64 (pow.f64 (/.f64 im (sqrt.f64 re)) 3) 1/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))))
(exp.f64 (log.f64 (/.f64 im (sqrt.f64 re))))
(log1p.f64 (expm1.f64 (/.f64 im (sqrt.f64 re))))
Outputs
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 re)))
(*.f64 (/.f64 im (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 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 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 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 (/.f64 im re) im)))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (cbrt.f64 im) (pow.f64 re -1/2)))
(*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 (pow.f64 re -1/2) (cbrt.f64 im)))
(*.f64 (pow.f64 re -1/2) (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 im)))
(*.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 1 (cbrt.f64 re)) (/.f64 im (cbrt.f64 (sqrt.f64 re))))
(/.f64 (/.f64 im (cbrt.f64 re)) (cbrt.f64 (sqrt.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 (cbrt.f64 (*.f64 im im)) 1) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (cbrt.f64 im) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (/.f64 (cbrt.f64 (*.f64 im im)) (sqrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)) (cbrt.f64 (/.f64 im (sqrt.f64 re))))
(*.f64 (cbrt.f64 (/.f64 im (sqrt.f64 re))) (/.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 re)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 im im)) (pow.f64 re 1/4)) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4)))
(/.f64 (cbrt.f64 (*.f64 im im)) (/.f64 (pow.f64 re 1/4) (/.f64 (cbrt.f64 im) (pow.f64 re 1/4))))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im im)) (cbrt.f64 im)) (pow.f64 re 1/2))
(*.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 (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 re)) (cbrt.f64 (sqrt.f64 re)))
(/.f64 im (*.f64 (cbrt.f64 re) (cbrt.f64 (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 (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 (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 (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))
(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))
(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))
(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))

localize61.0ms (0.6%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))
99.9%
(/.f64 im (/.f64 re im))
82.2%
(sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2)))
Compiler

Compiled 54 to 26 computations (51.9% saved)

series2.0ms (0%)

Counts
3 → 60
Calls

18 calls:

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

rewrite81.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1326×log-prod
700×pow-prod-down
576×pow-prod-up
558×pow-unpow
514×pow-exp
Iterations

Useful iterations: 1 (0.0ms)

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

simplify74.0ms (0.7%)

Algorithm
egg-herbie
Rules
1538×fma-def
1012×distribute-lft-in
968×distribute-rgt-in
756×times-frac
560×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02813156
16303032
219692904
Stop Event
node limit
Counts
176 → 147
Calls
Call 1
Inputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(/.f64 (pow.f64 im 2) re)
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) 1)
(*.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6))
(*.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(*.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4) (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4))
(*.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2))) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2))))
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 im (/.f64 im re)))) (sqrt.f64 -1/2))
(pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 3/2)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2)) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(+.f64 0 (*.f64 im (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 1 (*.f64 im (/.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (/.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (/.f64 im re)))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (/.f64 re im))))
(*.f64 (/.f64 im re) im)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (/.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (/.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 im) re) (pow.f64 im 3/2))
(*.f64 (/.f64 1 re) (*.f64 im im))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) -2) (/.f64 im (cbrt.f64 (/.f64 re im))))
(*.f64 (pow.f64 (/.f64 re im) -1/2) (/.f64 im (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) re) (*.f64 (cbrt.f64 im) im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 (/.f64 re im))) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))))
(*.f64 (/.f64 im 1) (/.f64 im re))
(*.f64 (*.f64 (/.f64 im re) 1) im)
(*.f64 (*.f64 (/.f64 im re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(*.f64 (*.f64 (/.f64 im re) (sqrt.f64 im)) (sqrt.f64 im))
(*.f64 (/.f64 im (neg.f64 re)) (neg.f64 im))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(pow.f64 (pow.f64 (/.f64 re (*.f64 im im)) -3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2)
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(pow.f64 (/.f64 (/.f64 re (*.f64 im im)) 1) -1)
(neg.f64 (/.f64 im (neg.f64 (/.f64 re im))))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (pow.f64 (/.f64 re (*.f64 im im)) -3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 (/.f64 re im) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 im re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 re (*.f64 im im))) -1))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(+.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2)) (*.f64 im (*.f64 (/.f64 im re) -1/2)))
(+.f64 0 (*.f64 (*.f64 im (/.f64 im re)) -1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1)
(/.f64 (*.f64 2 (*.f64 im -1/2)) (/.f64 re im))
(/.f64 (*.f64 (*.f64 im -1/2) 2) (/.f64 re im))
(pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) 6)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2) 2/3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4) 4)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(exp.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2)) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1/3))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
Outputs
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re)))
(*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re))))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(*.f64 -1 (*.f64 (*.f64 (sqrt.f64 -1) im) (sqrt.f64 (/.f64 1 re))))
(neg.f64 (*.f64 (sqrt.f64 -1) (*.f64 im (sqrt.f64 (/.f64 1 re)))))
(*.f64 (sqrt.f64 (/.f64 1 re)) (*.f64 (neg.f64 im) (sqrt.f64 -1)))
(*.f64 (sqrt.f64 -1) (*.f64 (sqrt.f64 (/.f64 1 re)) (neg.f64 im)))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (pow.f64 im 2) re)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 0 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))) 1)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4) (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2))) (sqrt.f64 2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2)) (sqrt.f64 2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 im (/.f64 re im)) -1/2)) (sqrt.f64 2))
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2))))
(*.f64 (sqrt.f64 (*.f64 (/.f64 (*.f64 im im) re) -1/2)) (sqrt.f64 2))
(*.f64 (sqrt.f64 (*.f64 (/.f64 im (/.f64 re im)) -1/2)) (sqrt.f64 2))
(*.f64 (sqrt.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2))) (sqrt.f64 2))
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 im (/.f64 im re)))) (sqrt.f64 -1/2))
(*.f64 (sqrt.f64 (*.f64 2 (/.f64 (*.f64 im im) re))) (sqrt.f64 -1/2))
(*.f64 (sqrt.f64 (*.f64 2 (/.f64 im (/.f64 re im)))) (sqrt.f64 -1/2))
(*.f64 (sqrt.f64 (*.f64 im (*.f64 2 (/.f64 im re)))) (sqrt.f64 -1/2))
(pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/2)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 3/2)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) 3)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2) 1/4)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3) 1/6)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2) 1/3)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4) 2)
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1) 1/2))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2) 1))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1) 1))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6)) 3))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2)) 1/3))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 2))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(sqrt.f64 (neg.f64 (/.f64 (*.f64 im im) re)))
(sqrt.f64 (*.f64 im (/.f64 (neg.f64 im) re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(+.f64 0 (*.f64 im (/.f64 im re)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 (*.f64 im (/.f64 im re)) 1)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 1 (*.f64 im (/.f64 im re)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) (cbrt.f64 (*.f64 im (/.f64 im re))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) (/.f64 im re)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) (sqrt.f64 (*.f64 im (/.f64 im re))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) (/.f64 im re)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (neg.f64 im) (/.f64 1 (neg.f64 (/.f64 re im))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im re) im)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) 1) (/.f64 (cbrt.f64 im) (/.f64 re im)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (sqrt.f64 im) 1) (/.f64 (sqrt.f64 im) (/.f64 re im)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (sqrt.f64 im) re) (pow.f64 im 3/2))
(*.f64 (/.f64 1 re) (*.f64 im im))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) -2) (/.f64 im (cbrt.f64 (/.f64 re im))))
(*.f64 (pow.f64 (/.f64 re im) -1/2) (/.f64 im (sqrt.f64 (/.f64 re im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) re) (*.f64 (cbrt.f64 im) im))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (/.f64 (*.f64 im im) re)) (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)))
(*.f64 (cbrt.f64 (/.f64 im (/.f64 re im))) (/.f64 (pow.f64 (cbrt.f64 im) 2) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)))
(/.f64 (*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (cbrt.f64 im) 2)) (pow.f64 (cbrt.f64 (/.f64 re im)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 im) 2) (sqrt.f64 (/.f64 re im))) (/.f64 (cbrt.f64 im) (sqrt.f64 (/.f64 re im))))
(/.f64 (/.f64 im (sqrt.f64 (/.f64 re im))) (sqrt.f64 (/.f64 re im)))
(*.f64 (/.f64 (sqrt.f64 im) (pow.f64 (cbrt.f64 (/.f64 re im)) 2)) (/.f64 (sqrt.f64 im) (cbrt.f64 (/.f64 re im))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re im)) -2) (/.f64 im (cbrt.f64 (/.f64 re im))))
(*.f64 (/.f64 im 1) (/.f64 im re))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im re) 1) im)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im re) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (*.f64 (/.f64 im re) (sqrt.f64 im)) (sqrt.f64 im))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(*.f64 (/.f64 im (neg.f64 re)) (neg.f64 im))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/2)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (/.f64 re (*.f64 im im)) -3) 1/3)
(cbrt.f64 (pow.f64 (/.f64 re (*.f64 im im)) -3))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 re (*.f64 im im)) -1)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (/.f64 (/.f64 re (*.f64 im im)) 1) -1)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(neg.f64 (/.f64 im (neg.f64 (/.f64 re im))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (/.f64 re (*.f64 im im)) -3))
(cbrt.f64 (/.f64 (pow.f64 im 3) (pow.f64 (/.f64 re im) 3)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 im re)))) 1/3))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (/.f64 re (*.f64 im im))) -1))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 (*.f64 im (*.f64 (/.f64 im re) -1/2)) (*.f64 im (*.f64 (/.f64 im re) -1/2)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 0 (*.f64 (*.f64 im (/.f64 im re)) -1))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (/.f64 1 (pow.f64 (exp.f64 im) (/.f64 im re)))) 2)) (log.f64 (cbrt.f64 (/.f64 1 (pow.f64 (exp.f64 im) (/.f64 im re))))))
(*.f64 3 (log.f64 (cbrt.f64 (/.f64 1 (pow.f64 (exp.f64 im) (/.f64 im re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 2 (*.f64 im -1/2)) (/.f64 re im))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (*.f64 im -1/2) 2) (/.f64 re im))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 2)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 3)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) 6)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2) 1/2)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3) 1/3)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3/2) 2/3)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/4) 4)
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) (/.f64 im re)) -1))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 3))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1) 1))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2) 2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1) 2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 3))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 2)) 1/2))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1))) 1/3))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)))
(/.f64 (*.f64 im im) re)
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))

localize86.0ms (0.9%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.7%
(pow.f64 (pow.f64 (*.f64 re 4) 1/3) 3/2)
96.6%
(pow.f64 (*.f64 re 4) 1/3)
Compiler

Compiled 32 to 27 computations (15.6% saved)

series3.0ms (0%)

Counts
2 → 0
Calls

6 calls:

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

rewrite61.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1514×pow1
1432×add-exp-log
1432×log1p-expm1-u
1432×expm1-log1p-u
1402×add-log-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0924
120022
2216822
Stop Event
node limit
Counts
2 → 39
Calls
Call 1
Inputs
(pow.f64 (*.f64 re 4) 1/3)
(pow.f64 (pow.f64 (*.f64 re 4) 1/3) 3/2)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) 1)
(*.f64 1 (cbrt.f64 (*.f64 re 4)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (cbrt.f64 re) (cbrt.f64 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 re))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 re 4)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 re 4))))
(cbrt.f64 (*.f64 re 4))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 re 4))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 re 4))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 re 4))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 re) 2)) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (*.f64 (sqrt.f64 re) 2) 1)
(*.f64 1 (*.f64 (sqrt.f64 re) 2))
(*.f64 (sqrt.f64 re) 2)
(*.f64 (sqrt.f64 re) (pow.f64 4 1/2))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (cbrt.f64 (*.f64 re 4)))
(*.f64 2 (sqrt.f64 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/4))
(*.f64 (pow.f64 4 1/2) (sqrt.f64 re))
(*.f64 (pow.f64 1 1/2) (*.f64 (sqrt.f64 re) 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/2) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (pow.f64 1 3/2) (*.f64 (sqrt.f64 re) 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2))
(*.f64 (pow.f64 (cbrt.f64 re) 3/2) (pow.f64 (cbrt.f64 4) 3/2))
(sqrt.f64 (*.f64 re 4))
(fabs.f64 (*.f64 (sqrt.f64 re) 2))
(log.f64 (exp.f64 (*.f64 (sqrt.f64 re) 2)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 re) 2) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 re) 2)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 re) 2)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 re) 2)))

simplify69.0ms (0.7%)

Algorithm
egg-herbie
Rules
1246×log-prod
886×exp-prod
662×unswap-sqr
630×exp-sum
430×log-pow
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
083915
1175705
2389495
31171487
43366487
55983487
Stop Event
node limit
Counts
39 → 47
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) 1)
(*.f64 1 (cbrt.f64 (*.f64 re 4)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (cbrt.f64 re) (cbrt.f64 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 re))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 re 4)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 re 4))))
(cbrt.f64 (*.f64 re 4))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 re 4))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 re 4))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 re 4))))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 re) 2)) 1)
(*.f64 (cbrt.f64 (*.f64 re 4)) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (*.f64 (sqrt.f64 re) 2) 1)
(*.f64 1 (*.f64 (sqrt.f64 re) 2))
(*.f64 (sqrt.f64 re) 2)
(*.f64 (sqrt.f64 re) (pow.f64 4 1/2))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (cbrt.f64 (*.f64 re 4)))
(*.f64 2 (sqrt.f64 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/4))
(*.f64 (pow.f64 4 1/2) (sqrt.f64 re))
(*.f64 (pow.f64 1 1/2) (*.f64 (sqrt.f64 re) 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/2) (pow.f64 (*.f64 re 4) 1/6))
(*.f64 (pow.f64 1 3/2) (*.f64 (sqrt.f64 re) 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2))
(*.f64 (pow.f64 (cbrt.f64 re) 3/2) (pow.f64 (cbrt.f64 4) 3/2))
(sqrt.f64 (*.f64 re 4))
(fabs.f64 (*.f64 (sqrt.f64 re) 2))
(log.f64 (exp.f64 (*.f64 (sqrt.f64 re) 2)))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 re) 2) 3))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 re) 2)))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 re) 2)))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 re) 2)))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 re 4))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(*.f64 (cbrt.f64 (*.f64 re 4)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(*.f64 1 (cbrt.f64 (*.f64 re 4)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (pow.f64 (*.f64 re 4) 1/6))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(*.f64 (cbrt.f64 re) (cbrt.f64 4))
(*.f64 (cbrt.f64 4) (cbrt.f64 re))
(*.f64 (cbrt.f64 re) (cbrt.f64 4))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 re 4)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(cbrt.f64 (*.f64 re 4))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 re 4))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 re 4)) 1))
(+.f64 (cbrt.f64 (*.f64 re 4)) 0)
(cbrt.f64 (*.f64 4 re))
(-.f64 (+.f64 1 (*.f64 (sqrt.f64 re) 2)) 1)
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (cbrt.f64 (*.f64 re 4)) (pow.f64 (*.f64 re 4) 1/6))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (*.f64 (sqrt.f64 re) 2) 1)
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 1 (*.f64 (sqrt.f64 re) 2))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (sqrt.f64 re) 2)
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (sqrt.f64 re) (pow.f64 4 1/2))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/6) (cbrt.f64 (*.f64 re 4)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 2 (sqrt.f64 re))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (*.f64 re 4) 1/4) (pow.f64 (*.f64 re 4) 1/4))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 4 1/2) (sqrt.f64 re))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 1 1/2) (*.f64 (sqrt.f64 re) 2))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 re 4)) 2) 1/2) (pow.f64 (*.f64 re 4) 1/6))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 1 3/2) (*.f64 (sqrt.f64 re) 2))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 re 4))) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 4 re))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 4 re))) 3/2))
(*.f64 (pow.f64 (*.f64 4 re) 1/6) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 4 re))) 2) 3/2))
(*.f64 (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2) (pow.f64 (pow.f64 (*.f64 re 4) 1/6) 3/2))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(*.f64 (pow.f64 (cbrt.f64 re) 3/2) (pow.f64 (cbrt.f64 4) 3/2))
(sqrt.f64 (*.f64 re 4))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(fabs.f64 (*.f64 (sqrt.f64 re) 2))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(log.f64 (exp.f64 (*.f64 (sqrt.f64 re) 2)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(cbrt.f64 (pow.f64 (*.f64 (sqrt.f64 re) 2) 3))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(expm1.f64 (log1p.f64 (*.f64 (sqrt.f64 re) 2)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(exp.f64 (log.f64 (*.f64 (sqrt.f64 re) 2)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))
(log1p.f64 (expm1.f64 (*.f64 (sqrt.f64 re) 2)))
(+.f64 1 (-.f64 (*.f64 2 (sqrt.f64 re)) 1))
(+.f64 (*.f64 2 (sqrt.f64 re)) 0)
(*.f64 2 (sqrt.f64 re))
(sqrt.f64 (*.f64 4 re))

localize47.0ms (0.5%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
99.9%
(*.f64 im (neg.f64 (/.f64 im re)))
99.7%
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)
74.8%
(cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
Compiler

Compiled 47 to 15 computations (68.1% saved)

series14.0ms (0.1%)

Counts
3 → 24
Calls

18 calls:

TimeVariablePointExpression
7.0ms
im
@inf
(cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
1.0ms
im
@0
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)
1.0ms
re
@inf
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)
1.0ms
im
@inf
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)
1.0ms
re
@0
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)

rewrite79.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
996×log-prod
752×exp-prod
654×prod-exp
568×pow-prod-down
494×pow-prod-up
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01165
123347
2299147
Stop Event
node limit
Counts
3 → 133
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re))))
(pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2)
(*.f64 im (neg.f64 (/.f64 im re)))
Outputs
(+.f64 0 (cbrt.f64 (*.f64 im (/.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 1)
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1)
(*.f64 1 (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (/.f64 im re)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) (pow.f64 (*.f64 im (/.f64 im re)) 1/6))
(pow.f64 (*.f64 im (/.f64 im re)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2) 3/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/6)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/9)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) 2)
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(pow.f64 (exp.f64 1/3) (log.f64 (*.f64 im (/.f64 im re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) 3/2))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(+.f64 0 (sqrt.f64 (*.f64 im (/.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 1)
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (*.f64 im (/.f64 im re)) 1/6))
(*.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/4) (pow.f64 (*.f64 im (/.f64 im re)) 1/4))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) 3/4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2)) 1/3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) 3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) 2))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(+.f64 0 (*.f64 im (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(-.f64 0 (*.f64 im (/.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(/.f64 im (/.f64 re im))
(/.f64 (*.f64 im im) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(/.f64 (*.f64 (neg.f64 im) im) re)
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 9)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2) 2/3)
(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 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) 6)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/4) 4)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (/.f64 im re))))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 4) 3/4)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(neg.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) 2))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) 3/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 im re)))) 1/3))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (/.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 im re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (/.f64 im re)) 1)))
(exp.f64 (+.f64 (log.f64 (/.f64 im re)) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 im re)) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 im re)) 1) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3)))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (log.f64 (neg.f64 im)) (*.f64 (log.f64 (/.f64 im re)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 re im))))
(exp.f64 (-.f64 (log.f64 (*.f64 im im)) (*.f64 (log.f64 re) 1)))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))

simplify83.0ms (0.8%)

Algorithm
egg-herbie
Rules
1408×fma-def
934×log-prod
740×exp-prod
550×fabs-mul
518×cube-prod
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02972823
16292725
216672725
356292725
Stop Event
node limit
Counts
157 → 142
Calls
Call 1
Inputs
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(+.f64 0 (cbrt.f64 (*.f64 im (/.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 1)
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1)
(*.f64 1 (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(*.f64 (cbrt.f64 (/.f64 im re)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) (pow.f64 (*.f64 im (/.f64 im re)) 1/6))
(pow.f64 (*.f64 im (/.f64 im re)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2/3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2) 3/2)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/6)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/9)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) 2)
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(pow.f64 (exp.f64 1/3) (log.f64 (*.f64 im (/.f64 im re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) 3/2))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(+.f64 0 (sqrt.f64 (*.f64 im (/.f64 im re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 1)
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (*.f64 im (/.f64 im re)) 1/6))
(*.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 1)
(*.f64 1 (sqrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) (cbrt.f64 (*.f64 im (/.f64 im re))))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/4) (pow.f64 (*.f64 im (/.f64 im re)) 1/4))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 3/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) 1))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) 3/4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2)) 1/3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) 3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) 2))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(+.f64 0 (*.f64 im (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(-.f64 0 (*.f64 im (/.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(/.f64 im (/.f64 re im))
(/.f64 (*.f64 im im) re)
(/.f64 (*.f64 im (neg.f64 im)) re)
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(/.f64 (*.f64 (neg.f64 im) im) re)
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 9)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2) 2/3)
(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 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) 6)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/4) 4)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (/.f64 im re))))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 4) 3/4)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(neg.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) 2))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) 3/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 im re)))) 1/3))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (/.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 im re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (/.f64 im re)) 1)))
(exp.f64 (+.f64 (log.f64 (/.f64 im re)) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 im re)) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 im re)) 1) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3)))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(exp.f64 (+.f64 (log.f64 (neg.f64 im)) (*.f64 (log.f64 (/.f64 im re)) 1)))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 re im))))
(exp.f64 (-.f64 (log.f64 (*.f64 im im)) (*.f64 (log.f64 re) 1)))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
Outputs
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(*.f64 -1 (/.f64 (pow.f64 im 2) re))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(+.f64 0 (cbrt.f64 (*.f64 im (/.f64 im re))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 1)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 1 (cbrt.f64 (*.f64 im (/.f64 im re))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (cbrt.f64 (/.f64 im re)) (cbrt.f64 im))
(*.f64 (cbrt.f64 im) (cbrt.f64 (/.f64 im re)))
(*.f64 (cbrt.f64 (/.f64 im re)) (cbrt.f64 im))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) (pow.f64 (*.f64 im (/.f64 im re)) 1/6))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (*.f64 im (/.f64 im re)) 1/3)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 1)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2/3)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 1/2)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2) 3/2)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 2) 1/6)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3) 1/9)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) 2)
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (exp.f64 1/3) (log.f64 (*.f64 im (/.f64 im re))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) (sqrt.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1/3))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 1))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 1))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re))))) 3))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) 2))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))) 3/2))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))))
(cbrt.f64 (*.f64 im (/.f64 im re)))
(+.f64 0 (sqrt.f64 (*.f64 im (/.f64 im re))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))) 1)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) (pow.f64 (*.f64 im (/.f64 im re)) 1/6))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 1)
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 1 (sqrt.f64 (*.f64 im (/.f64 im re))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) (cbrt.f64 (*.f64 im (/.f64 im re))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (sqrt.f64 (/.f64 im re)) (sqrt.f64 im))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (sqrt.f64 im) (sqrt.f64 (/.f64 im re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(*.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/4) (pow.f64 (*.f64 im (/.f64 im re)) 1/4))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(fabs.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/2))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1/2))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 3/2))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 3/2))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) 1))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) 3/4))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2)) 1/3))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) 3))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re)))) 2))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) 2))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (+.f64 (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) (*.f64 1/4 (log.f64 (*.f64 im (/.f64 im re))))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3/4)))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))))
(sqrt.f64 (*.f64 im (/.f64 im re)))
(+.f64 0 (*.f64 im (/.f64 im re)))
(*.f64 im (/.f64 im re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(-.f64 0 (*.f64 im (/.f64 im re)))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (/.f64 im re)))) 1)
(*.f64 im (/.f64 im re))
(/.f64 im (/.f64 re im))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im im) re)
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 im (neg.f64 im)) re)
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(/.f64 (*.f64 im (neg.f64 im)) (neg.f64 re))
(*.f64 im (/.f64 im re))
(/.f64 (*.f64 (neg.f64 im) im) re)
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(pow.f64 (*.f64 im (/.f64 im re)) 1)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 3)
(*.f64 im (/.f64 im re))
(pow.f64 (sqrt.f64 (*.f64 im (/.f64 im re))) 2)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 2) 3/2)
(*.f64 im (/.f64 im re))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 9)
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 3/2) 2/3)
(*.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 (pow.f64 (*.f64 im (/.f64 im re)) 1/6) 6)
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (/.f64 im re)) 1/4) 4)
(*.f64 im (/.f64 im re))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 im (/.f64 im re))) 4) 3/4)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re))))) (sqrt.f64 (log.f64 (*.f64 im (/.f64 im re)))))
(neg.f64 (*.f64 im (/.f64 im re)))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.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))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re)))))
(*.f64 im (/.f64 im re))
(log.f64 (/.f64 1 (+.f64 1 (expm1.f64 (*.f64 im (/.f64 im re))))))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.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))
(exp.f64 (log.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1) 1))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 3))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) 3))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) 3))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 2))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) 2))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) 3/2))
(*.f64 im (/.f64 im re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (/.f64 im re)))) 1/3))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (/.f64 im re)) 1)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 im re))))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (/.f64 im re)) 1)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (log.f64 (/.f64 im re)) (*.f64 (log.f64 im) 1)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 im re)) 1) (log.f64 im)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (/.f64 im re)) 1) (*.f64 (log.f64 im) 1)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3) (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re))))))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re))))))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re))))))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1) (*.f64 (log.f64 (sqrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (*.f64 im (/.f64 im re))) 1/3)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (*.f64 2/3 (log.f64 (*.f64 im (/.f64 im re)))) (*.f64 (log.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 1)))
(*.f64 im (/.f64 im re))
(exp.f64 (+.f64 (log.f64 (neg.f64 im)) (*.f64 (log.f64 (/.f64 im re)) 1)))
(*.f64 im (neg.f64 (/.f64 im re)))
(*.f64 im (/.f64 (neg.f64 im) re))
(exp.f64 (-.f64 (*.f64 (log.f64 im) 1) (log.f64 (/.f64 re im))))
(*.f64 im (/.f64 im re))
(exp.f64 (-.f64 (log.f64 (*.f64 im im)) (*.f64 (log.f64 re) 1)))
(*.f64 im (/.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (/.f64 im re))))
(*.f64 im (/.f64 im re))

eval234.0ms (2.4%)

Compiler

Compiled 9107 to 6362 computations (30.1% saved)

prune167.0ms (1.7%)

Pruning

28 alts after pruning (14 fresh and 14 done)

PrunedKeptTotal
New5428550
Fresh066
Picked011
Done11314
Total54328571
Accurracy
95.3%
Counts
571 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
25.4%
(*.f64 1/2 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im (/.f64 im re)))) 2) 3/2) 3/2))
22.8%
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 (*.f64 im (/.f64 im re)) -1) 1/6) 3))
20.5%
(*.f64 1/2 (pow.f64 (pow.f64 (*.f64 re 4) 1/3) 3/2))
26.3%
(*.f64 1/2 (pow.f64 (exp.f64 (log.f64 (cbrt.f64 (*.f64 im -2)))) 3/2))
25.6%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re im) 2)) 3/2))
22.1%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 re 4)) 3/2))
24.0%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (neg.f64 (/.f64 im re)))) 3/2))
27.9%
(*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im -2)) 3/2))
18.3%
(*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re))))
27.3%
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))) 3) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)))
25.9%
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 (+.f64 1 (-.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 1)) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)))
26.6%
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 (exp.f64 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))))) 2) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)))
27.7%
(*.f64 1/2 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 2) 3/2) (cbrt.f64 (sqrt.f64 (*.f64 im -2)))))
26.6%
(*.f64 1/2 (*.f64 (pow.f64 (exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2)))))) 3/2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 im -2))) 3/2)))
26.0%
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 2)))
23.1%
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))
22.4%
(*.f64 1/2 (*.f64 2 (sqrt.f64 re)))
18.9%
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 (neg.f64 im) im) re)))
6.8%
(*.f64 1/2 (sqrt.f64 (/.f64 (*.f64 im im) re)))
23.7%
(*.f64 1/2 (sqrt.f64 (*.f64 (/.f64 im re) (neg.f64 im))))
25.8%
(*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2)))
22.9%
(*.f64 1/2 (sqrt.f64 (*.f64 im 2)))
28.3%
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
75.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im)))))
23.7%
(*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2))))
22.6%
(*.f64 1/2 (exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (/.f64 im re)) -1)) 1/2)))
26.3%
(*.f64 1/2 (exp.f64 (log.f64 (sqrt.f64 (*.f64 im -2)))))
21.6%
(*.f64 1/2 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 im -2)) 3)))
Compiler

Compiled 371 to 316 computations (14.8% saved)

regimes187.0ms (1.9%)

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

7 calls:

57.0ms
(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
28.0ms
re
22.0ms
im
19.0ms
(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
19.0ms
(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
Results
AccuracySegmentsBranch
83.8%2re
75.7%1im
83.4%2(*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))))
83.4%2(sqrt.f64 (*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)))
82.6%2(*.f64 2 (+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re))
82.6%2(+.f64 (sqrt.f64 (+.f64 (*.f64 re re) (*.f64 im im))) re)
75.7%1(*.f64 im im)
Compiler

Compiled 440 to 335 computations (23.9% saved)

bsearch30.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
30.0ms
-3.3861825612872876e+64
-2.5990573659741657e+62
Results
9.0ms27×body2048valid
8.0ms15×body1024valid
6.0ms53×body256valid
4.0ms11×body4096valid
1.0msbody512valid
Compiler

Compiled 218 to 170 computations (22% saved)

regimes255.0ms (2.6%)

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

3 calls:

96.0ms
im
88.0ms
(*.f64 im im)
64.0ms
re
Results
AccuracySegmentsBranch
62.6%7re
64.3%9im
42.7%9(*.f64 im im)
Compiler

Compiled 133 to 97 computations (27.1% saved)

bsearch264.0ms (2.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
1.2539889698370929e+39
1.3499809039219975e+39
19.0ms
0.19710582369434984
7.808143241397716
23.0ms
3.6264773408649845e-35
2.0088446542232564e-32
53.0ms
4.972468050008846e-75
2.196144707327919e-74
45.0ms
8.037174855160674e-119
2.780579298609297e-111
63.0ms
1.2818688285079345e-230
3.1619880176871435e-226
28.0ms
9.992224027154577e-287
8.436425907546872e-285
27.0ms
-6.20423733471862e-223
-4.0221828735987945e-224
Results
72.0ms103×body2048valid
71.0ms539×body256valid
45.0ms107×body4096valid
22.0ms64×body1024valid
7.0ms35×body512valid
Compiler

Compiled 1065 to 883 computations (17.1% saved)

regimes172.0ms (1.7%)

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

3 calls:

65.0ms
im
55.0ms
re
49.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
62.6%7re
64.1%9im
42.7%9(*.f64 im im)
Compiler

Compiled 115 to 83 computations (27.8% saved)

bsearch187.0ms (1.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
1.2539889698370929e+39
1.3499809039219975e+39
20.0ms
0.19710582369434984
7.808143241397716
25.0ms
3.6264773408649845e-35
2.0088446542232564e-32
20.0ms
4.972468050008846e-75
2.196144707327919e-74
30.0ms
8.037174855160674e-119
2.780579298609297e-111
35.0ms
1.2818688285079345e-230
3.1619880176871435e-226
27.0ms
9.992224027154577e-287
8.436425907546872e-285
24.0ms
-6.20423733471862e-223
-4.0221828735987945e-224
Results
68.0ms538×body256valid
53.0ms125×body4096valid
36.0ms112×body2048valid
11.0ms46×body1024valid
7.0ms27×body512valid
Compiler

Compiled 1061 to 881 computations (17% saved)

regimes145.0ms (1.5%)

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

3 calls:

53.0ms
im
47.0ms
re
40.0ms
(*.f64 im im)
Results
AccuracySegmentsBranch
62.3%7re
64.1%9im
42.7%9(*.f64 im im)
Compiler

Compiled 92 to 63 computations (31.5% saved)

bsearch207.0ms (2.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
1.2539889698370929e+39
1.3499809039219975e+39
46.0ms
0.19710582369434984
7.808143241397716
22.0ms
3.6264773408649845e-35
2.0088446542232564e-32
19.0ms
4.972468050008846e-75
2.196144707327919e-74
30.0ms
8.037174855160674e-119
2.780579298609297e-111
31.0ms
1.2818688285079345e-230
3.1619880176871435e-226
31.0ms
9.992224027154577e-287
8.436425907546872e-285
24.0ms
-6.20423733471862e-223
-4.0221828735987945e-224
Results
91.0ms529×body256valid
43.0ms106×body4096valid
38.0ms117×body2048valid
16.0ms67×body1024valid
5.0ms29×body512valid
Compiler

Compiled 1063 to 881 computations (17.1% saved)

regimes93.0ms (0.9%)

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

2 calls:

65.0ms
im
27.0ms
re
Results
AccuracySegmentsBranch
60.4%8re
63.8%9im
Compiler

Compiled 33 to 26 computations (21.2% saved)

bsearch201.0ms (2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
1.2539889698370929e+39
1.3499809039219975e+39
21.0ms
0.19710582369434984
7.808143241397716
43.0ms
3.6264773408649845e-35
2.0088446542232564e-32
16.0ms
4.972468050008846e-75
2.196144707327919e-74
28.0ms
8.037174855160674e-119
2.780579298609297e-111
31.0ms
1.2818688285079345e-230
3.1619880176871435e-226
33.0ms
9.992224027154577e-287
8.436425907546872e-285
23.0ms
-6.20423733471862e-223
-4.0221828735987945e-224
Results
81.0ms514×body256valid
44.0ms109×body4096valid
42.0ms128×body2048valid
18.0ms76×body1024valid
4.0ms21×body512valid
Compiler

Compiled 1029 to 864 computations (16% saved)

regimes60.0ms (0.6%)

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

2 calls:

40.0ms
im
19.0ms
re
Results
AccuracySegmentsBranch
47.5%6re
58.7%5im
Compiler

Compiled 26 to 21 computations (19.2% saved)

bsearch96.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
7.073807898814927e+49
1.1979936837528795e+59
27.0ms
19219.866902507983
231897088711.18866
18.0ms
1.4079095314046887e-64
9.065510041364171e-64
26.0ms
-6.8161198823620395e-221
-6.20423733471862e-223
Results
42.0ms344×body256valid
20.0ms66×body2048valid
15.0ms39×body4096valid
8.0ms31×body1024valid
3.0ms16×body512valid
Compiler

Compiled 580 to 512 computations (11.7% saved)

regimes50.0ms (0.5%)

Accuracy

Total -32.8b remaining (-105.1%)

Threshold costs -32.8b (-105.1%)

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

2 calls:

43.0ms
re
5.0ms
im
Results
AccuracySegmentsBranch
31.9%5re
51.2%2im
Compiler

Compiled 20 to 16 computations (20% saved)

bsearch34.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
34.0ms
-3.4351451633615374e-308
1.0412552873998257e-304
Results
16.0ms39×body4096valid
7.0ms21×body2048valid
6.0ms55×body256valid
2.0msbody1024valid
1.0msbody512valid
Compiler

Compiled 166 to 144 computations (13.3% saved)

simplify33.0ms (0.3%)

Algorithm
egg-herbie
Rules
38×*-commutative
12×not-or
12×if-if-or-not
10×if-not
+-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01491220
11831182
21941182
32031170
42061170
52111170
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 re -2700000000000000174485262311999105011508182869726146928765304832) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -1790726532267539/3255866422304616344765552632188114158762089024568314531443485259650408807528140659922574316831813618526821245406949824436469141432675471230646169947427163108444901161872077421124549944292877941762189949285100879873872435565174053364826112) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3013617957711377/669692879491417075592765655662501131600878007315958504652343992731469406953085076558248986759809911329746670573470716765741965803557696277249036098418660925245910485926514436588817162816398196367372136384565404686473871329212422972447846496629816432160699779855408885478776864478289024177325354254336) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 7210417398908033/436994993873214129706097166956708350993678881411295357199729151951767944417616335439228580716318181998128654620651240845861768505204366709906692902245553277900892247131030458103436298545516643924637451297481464347472084863384057367177715867713536) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4332296397063773/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 5601848934919837/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 2)))))))))))
(if (<=.f64 im -3776805049873355/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6643353364554857/42860344287450692837937001962400072422456192468221344297750015534814042044997444899727935152627834325103786916702125873007485811427692561743938310298794299215738271099296923941684298420249484567511816728612185899934327765069595070236662175784308251658284785910746168670641719326610497547348822672277504) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 6336427411161605/218497496936607064853048583478354175496839440705647678599864575975883972208808167719614290358159090999064327310325620422930884252602183354953346451122776638950446123565515229051718149272758321962318725648740732173736042431692028683588857933856768) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3815193499110241/88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050368) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 827545865385885/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 7669960592712579/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))))))
(if (<=.f64 im -364657039298117/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1372870402957405/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8739899877464283/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2235880841339025/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1680554680475951/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2)))))))))))
(if (<=.f64 im -4558212991226463/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1255674149046407/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 710116865043973/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 935776021765775/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1209490110948601/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2484552783462535/2923003274661805836407369665432566039311865085952) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 4165829655317709/562949953421312) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))))))
(if (<=.f64 im -3154120596607597/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3408919107146589/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3800000000) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (if (<=.f64 im 71999999999999999262678055344365488135779184017408) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 im -202402253307311/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
Outputs
(if (<=.f64 re -2700000000000000174485262311999105011508182869726146928765304832) (*.f64 1/2 (sqrt.f64 (*.f64 2 (*.f64 (/.f64 im (/.f64 re im)) -1/2)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re (hypot.f64 re im))))))
(if (<=.f64 im -1790726532267539/3255866422304616344765552632188114158762089024568314531443485259650408807528140659922574316831813618526821245406949824436469141432675471230646169947427163108444901161872077421124549944292877941762189949285100879873872435565174053364826112) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3013617957711377/669692879491417075592765655662501131600878007315958504652343992731469406953085076558248986759809911329746670573470716765741965803557696277249036098418660925245910485926514436588817162816398196367372136384565404686473871329212422972447846496629816432160699779855408885478776864478289024177325354254336) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 7210417398908033/436994993873214129706097166956708350993678881411295357199729151951767944417616335439228580716318181998128654620651240845861768505204366709906692902245553277900892247131030458103436298545516643924637451297481464347472084863384057367177715867713536) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4332296397063773/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 5601848934919837/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 im re)) (sqrt.f64 2)))))))))))
(if (<=.f64 im -1790726532267539/3255866422304616344765552632188114158762089024568314531443485259650408807528140659922574316831813618526821245406949824436469141432675471230646169947427163108444901161872077421124549944292877941762189949285100879873872435565174053364826112) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3013617957711377/669692879491417075592765655662501131600878007315958504652343992731469406953085076558248986759809911329746670573470716765741965803557696277249036098418660925245910485926514436588817162816398196367372136384565404686473871329212422972447846496629816432160699779855408885478776864478289024177325354254336) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 7210417398908033/436994993873214129706097166956708350993678881411295357199729151951767944417616335439228580716318181998128654620651240845861768505204366709906692902245553277900892247131030458103436298545516643924637451297481464347472084863384057367177715867713536) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 4332296397063773/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 5601848934919837/509258994083621521567111422102344540262867098416484062659035112338595324940834176545849344) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 re im)) (sqrt.f64 2)))))))))))
(if (<=.f64 im -3776805049873355/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6643353364554857/42860344287450692837937001962400072422456192468221344297750015534814042044997444899727935152627834325103786916702125873007485811427692561743938310298794299215738271099296923941684298420249484567511816728612185899934327765069595070236662175784308251658284785910746168670641719326610497547348822672277504) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 6336427411161605/218497496936607064853048583478354175496839440705647678599864575975883972208808167719614290358159090999064327310325620422930884252602183354953346451122776638950446123565515229051718149272758321962318725648740732173736042431692028683588857933856768) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3815193499110241/88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050368) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 827545865385885/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 7669960592712579/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))))))
(if (<=.f64 im -3776805049873355/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 6643353364554857/42860344287450692837937001962400072422456192468221344297750015534814042044997444899727935152627834325103786916702125873007485811427692561743938310298794299215738271099296923941684298420249484567511816728612185899934327765069595070236662175784308251658284785910746168670641719326610497547348822672277504) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 6336427411161605/218497496936607064853048583478354175496839440705647678599864575975883972208808167719614290358159090999064327310325620422930884252602183354953346451122776638950446123565515229051718149272758321962318725648740732173736042431692028683588857933856768) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3815193499110241/88725430211866075506509253892578678509965986412026130405455346579667881849780019937279180995332466499116518750764914298527173050368) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 827545865385885/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 7669960592712579/93536104789177786765035829293842113257979682750464) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (*.f64 (sqrt.f64 2) (sqrt.f64 im)))))))))))
(if (<=.f64 im -364657039298117/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1372870402957405/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8739899877464283/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2235880841339025/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1680554680475951/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8782019273372467/1125899906842624) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 (+.f64 im re) 2)))))))))))
(if (<=.f64 im -364657039298117/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1372870402957405/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8739899877464283/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2235880841339025/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1680554680475951/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (or (<=.f64 im 8782019273372467/1125899906842624) (not (<=.f64 im 1260000000000000005636042452207474311168))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im)))) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))))))))))
(if (<=.f64 im -364657039298117/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1372870402957405/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8739899877464283/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2235880841339025/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1680554680475951/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (or (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (not (or (<=.f64 im 8782019273372467/1125899906842624) (not (<=.f64 im 1260000000000000005636042452207474311168))))) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))
(if (<=.f64 im -364657039298117/6511732844609232689531105264376228317524178049136629062886970519300817615056281319845148633663627237053642490813899648872938282865350942461292339894854326216889802323744154842249099888585755883524379898570201759747744871130348106729652224) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1372870402957405/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 8739899877464283/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2235880841339025/709803441694928604052074031140629428079727891296209043243642772637343054798240159498233447962659731992932150006119314388217384402944) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1680554680475951/127314748520905380391777855525586135065716774604121015664758778084648831235208544136462336) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (or (<=.f64 im 1730417938599789/46768052394588893382517914646921056628989841375232) (and (not (<=.f64 im 8782019273372467/1125899906842624)) (<=.f64 im 1260000000000000005636042452207474311168))) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 (+.f64 re im))))))))))
(if (<=.f64 im -4558212991226463/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1255674149046407/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 710116865043973/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 935776021765775/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1209490110948601/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2484552783462535/2923003274661805836407369665432566039311865085952) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 4165829655317709/562949953421312) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (if (<=.f64 im 1260000000000000005636042452207474311168) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))))))
(if (<=.f64 im -4558212991226463/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1255674149046407/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 710116865043973/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 935776021765775/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1209490110948601/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 2484552783462535/2923003274661805836407369665432566039311865085952) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (or (<=.f64 im 4165829655317709/562949953421312) (not (<=.f64 im 1260000000000000005636042452207474311168))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))))))))))
(if (<=.f64 im -4558212991226463/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1255674149046407/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 710116865043973/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 935776021765775/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1209490110948601/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (or (<=.f64 im 2484552783462535/2923003274661805836407369665432566039311865085952) (not (or (<=.f64 im 4165829655317709/562949953421312) (not (<=.f64 im 1260000000000000005636042452207474311168))))) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))
(if (<=.f64 im -4558212991226463/13023465689218465379062210528752456635048356098273258125773941038601635230112562639690297267327254474107284981627799297745876565730701884922584679789708652433779604647488309684498199777171511767048759797140403519495489742260696213459304448) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 1255674149046407/167423219872854268898191413915625282900219501828989626163085998182867351738271269139562246689952477832436667643367679191435491450889424069312259024604665231311477621481628609147204290704099549091843034096141351171618467832303105743111961624157454108040174944963852221369694216119572256044331338563584) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 710116865043973/54624374234151766213262145869588543874209860176411919649966143993970993052202041929903572589539772749766081827581405105732721063150545838738336612780694159737611530891378807262929537318189580490579681412185183043434010607923007170897214483464192) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 935776021765775/173291855882550928723650886508942731464777317210988535948154973788413831737851601439998400381508723631086950685087723239310884864) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (if (<=.f64 im 1209490110948601/63657374260452690195888927762793067532858387302060507832379389042324415617604272068231168) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (or (<=.f64 im 2484552783462535/2923003274661805836407369665432566039311865085952) (and (not (<=.f64 im 4165829655317709/562949953421312)) (<=.f64 im 1260000000000000005636042452207474311168))) (*.f64 1/2 (/.f64 im (sqrt.f64 (neg.f64 re)))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))))))
(if (<=.f64 im -3154120596607597/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3408919107146589/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (<=.f64 im 3800000000) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))) (if (<=.f64 im 71999999999999999262678055344365488135779184017408) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2)))))))
(if (<=.f64 im -3154120596607597/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (<=.f64 im 3408919107146589/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (if (or (<=.f64 im 3800000000) (not (<=.f64 im 71999999999999999262678055344365488135779184017408))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))))))
(if (<=.f64 im -3154120596607597/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (or (<=.f64 im 3408919107146589/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (not (or (<=.f64 im 3800000000) (not (<=.f64 im 71999999999999999262678055344365488135779184017408))))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -3154120596607597/50872912848509630386961759877939283730657641008879914553804457182037637617627197811290223700497087789481581959483591006819830334885554237978846405428549423569451580654251209705071092879576217840034217957579701248029256805705844583825408) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (if (or (<=.f64 im 3408919107146589/14821387422376473014217086081112052205218558037201992197050570753012880593911808) (and (not (<=.f64 im 3800000000)) (<=.f64 im 71999999999999999262678055344365488135779184017408))) (*.f64 1/2 (*.f64 2 (sqrt.f64 re))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im)))))
(if (<=.f64 im -202402253307311/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (*.f64 1/2 (sqrt.f64 (*.f64 im 2))))
(if (<=.f64 im -202402253307311/202402253307310618352495346718917307049556649764142118356901358027430339567995346891960383701437124495187077864316811911389808737385793476867013399940738509921517424276566361364466907742093216341239767678472745068562007483424692698618103355649159556340810056512358769552333414615230502532186327508646006263307707741093494784) (*.f64 1/2 (sqrt.f64 (*.f64 im -2))) (*.f64 1/2 (sqrt.f64 (*.f64 2 im))))
(*.f64 1/2 (sqrt.f64 (*.f64 im -2)))
Compiler

Compiled 445 to 310 computations (30.3% saved)

soundness1.0s (10.5%)

Rules
1886×pow1
1748×add-exp-log
1746×log1p-expm1-u
1746×expm1-log1p-u
1714×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01529
12829
23529
33729
04726281
112496019
238795909
04726281
112496019
238795909
04726281
112496019
238795909
04726281
112496019
238795909
04726281
112496019
238795909
0938
118924
2268324
04726281
112496019
238795909
0917
118917
2239517
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
saturated
Compiler

Compiled 335 to 233 computations (30.4% saved)

end231.0ms (2.3%)

Compiler

Compiled 978 to 632 computations (35.4% saved)

Profiling

Loading profile data...