Details

Time bar (total: 3.7s)

analyze53.0ms (1.4%)

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
50%50%50%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
75%74.9%25%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
80%74.9%18.7%0.1%6.2%0%0%6
80%74.9%18.7%0.1%6.2%0%0%7
82.8%74.9%15.6%0.1%9.4%0%0%8
82.8%74.9%15.6%0.1%9.4%0%0%9
84.2%74.9%14%0.1%10.9%0%0%10
84.2%74.9%14%0.1%10.9%0%0%11
85%74.9%13.3%0.1%11.7%0%0%12
Compiler

Compiled 8 to 6 computations (25% saved)

sample1.6s (43.8%)

Results
661.0ms6200×body256valid
487.0ms1357×body1024valid
196.0ms679×body1024infinite
150.0ms694×body512valid
69.0ms347×body512infinite
47.0ms420×body256infinite
3.0msbody2048valid
Bogosity

preprocess14.0ms (0.4%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11116
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 im) (cos.f64 re))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(*.f64 (exp.f64 im) (cos.f64 re))
Compiler

Compiled 9 to 7 computations (22.2% saved)

simplify9.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
178
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))

eval0.0ms (0%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 7 to 5 computations (28.6% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 13 to 5 computations (61.5% saved)

series8.0ms (0.2%)

Counts
1 → 8
Calls

6 calls:

TimeVariablePointExpression
3.0ms
re
@0
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
im
@0
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
re
@inf
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
im
@-inf
(*.f64 (exp.f64 re) (cos.f64 im))
1.0ms
im
@inf
(*.f64 (exp.f64 re) (cos.f64 im))
Compiler

Compiled 311 to 218 computations (29.9% saved)

rewrite36.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
530×pow1_binary64
504×add-sqr-sqrt_binary64
483×add-log-exp_binary64
483×log1p-expm1-u_binary64
483×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify50.0ms (1.3%)

Algorithm
egg-herbie
Rules
880×fma-def_binary64
400×*-commutative_binary64
347×distribute-rgt-out_binary64
342×fma-neg_binary64
312×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
065306
1174270
2511218
32229204
45346204
57261204
Stop Event
node limit
Counts
19 → 45
Calls
Call 1
Inputs
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))))
(exp.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (exp.f64 re))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (exp.f64 re)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (+.f64 (exp.f64 re) (*.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6))))))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
Outputs
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)))
(fma.f64 1/2 (*.f64 (cos.f64 im) (*.f64 re re)) (fma.f64 (cos.f64 im) re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) (+.f64 (*.f64 (*.f64 1/2 re) re) re)))
(fma.f64 (cos.f64 im) (fma.f64 1/2 (*.f64 re re) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re (fma.f64 re (*.f64 re 1/2) 1)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 re 2) (cos.f64 im))) (+.f64 (*.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3))) (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))))
(fma.f64 1/2 (*.f64 (cos.f64 im) (*.f64 re re)) (fma.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3)) (fma.f64 (cos.f64 im) re (cos.f64 im))))
(fma.f64 1/2 (*.f64 (cos.f64 im) (*.f64 re re)) (fma.f64 1/6 (*.f64 (cos.f64 im) (pow.f64 re 3)) (*.f64 (+.f64 re 1) (cos.f64 im))))
(fma.f64 (cos.f64 im) (*.f64 1/6 (pow.f64 re 3)) (fma.f64 (cos.f64 im) (fma.f64 1/2 (*.f64 re re) re) (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 (*.f64 re (fma.f64 re 1/2 1)) (fma.f64 1/6 (pow.f64 re 3) 1)))
(*.f64 (cos.f64 im) (+.f64 (fma.f64 1/6 (pow.f64 re 3) re) (fma.f64 re (*.f64 re 1/2) 1)))
(exp.f64 re)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (exp.f64 re))
(fma.f64 -1/2 (*.f64 (exp.f64 re) (*.f64 im im)) (exp.f64 re))
(*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (exp.f64 re) (fma.f64 im (*.f64 im -1/2) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (exp.f64 re)))
(fma.f64 -1/2 (*.f64 (exp.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4)) (exp.f64 re)))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 -1/2 (*.f64 im im) 1) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (exp.f64 re) (fma.f64 1/24 (pow.f64 im 4) (fma.f64 im (*.f64 im -1/2) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (exp.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4))) (+.f64 (exp.f64 re) (*.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6))))))
(fma.f64 -1/2 (*.f64 (exp.f64 re) (*.f64 im im)) (+.f64 (fma.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4)) (exp.f64 re)) (*.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6)))))
(fma.f64 -1/2 (*.f64 (exp.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (exp.f64 re) (pow.f64 im 4)) (fma.f64 -1/720 (*.f64 (exp.f64 re) (pow.f64 im 6)) (exp.f64 re))))
(+.f64 (*.f64 (exp.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) (*.f64 (exp.f64 re) (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 -1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 im (*.f64 im -1/2) 1)))
(*.f64 (exp.f64 re) (+.f64 (fma.f64 im (*.f64 im -1/2) 1) (fma.f64 -1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))))
(-.f64 (+.f64 1 (*.f64 (exp.f64 re) (cos.f64 im))) 1)
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 1)
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 3)
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (exp.f64 re) (cos.f64 im))) 2)
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 2))
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(log.f64 (pow.f64 (exp.f64 (exp.f64 re)) (cos.f64 im)))
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (exp.f64 re) (cos.f64 im)) 3))
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (exp.f64 re) (cos.f64 im))))
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))
(exp.f64 (+.f64 re (log.f64 (cos.f64 im))))
(+.f64 1 (-.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 1))
(+.f64 (*.f64 (cos.f64 im) (exp.f64 re)) 0)
(*.f64 (cos.f64 im) (exp.f64 re))

eval9.0ms (0.2%)

Compiler

Compiled 573 to 278 computations (51.5% saved)

prune7.0ms (0.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New41445
Fresh000
Picked011
Done000
Total41546
Error
0.0b
Counts
46 → 5
Alt Table
Click to see full alt table
StatusErrorProgram
24.2b
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
24.2b
(*.f64 (+.f64 re 1) (cos.f64 im))
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
16.7b
(exp.f64 re)
24.3b
(cos.f64 im)
Compiler

Compiled 32 to 22 computations (31.3% saved)

localize5.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize2.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (+.f64 re 1) (cos.f64 im))
Compiler

Compiled 16 to 9 computations (43.8% saved)

series10.0ms (0.3%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@0
(*.f64 (+.f64 re 1) (cos.f64 im))
2.0ms
im
@-inf
(*.f64 (+.f64 re 1) (cos.f64 im))
2.0ms
re
@inf
(*.f64 (+.f64 re 1) (cos.f64 im))
2.0ms
im
@inf
(*.f64 (+.f64 re 1) (cos.f64 im))
2.0ms
re
@0
(*.f64 (+.f64 re 1) (cos.f64 im))
Compiler

Compiled 343 to 255 computations (25.7% saved)

rewrite40.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
690×pow1_binary64
638×log1p-expm1-u_binary64
638×expm1-log1p-u_binary64
637×add-log-exp_binary64
624×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify62.0ms (1.7%)

Algorithm
egg-herbie
Rules
526×times-frac_binary64
405×associate-*l*_binary64
373×associate-*r*_binary64
304×fma-neg_binary64
298×distribute-lft-out_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082486
1213475
2671459
33422457
44633457
57309457
Stop Event
node limit
Counts
45 → 50
Calls
Call 1
Inputs
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(+.f64 (*.f64 re (cos.f64 im)) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(-.f64 (+.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im))) 1)
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (fma.f64 re re (-.f64 1 re)))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (fma.f64 re re (-.f64 1 re)))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (cos.f64 im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (+.f64 re 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
Outputs
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 (+.f64 re 1) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
(*.f64 (+.f64 re 1) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 re 1) (fma.f64 (*.f64 im -1/2) im 1))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))))
(fma.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4)) (+.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 (+.f64 re 1) (*.f64 im im)))))
(fma.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1)))
(*.f64 (+.f64 re 1) (+.f64 (fma.f64 -1/2 (*.f64 im im) 1) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 re 1) (+.f64 (fma.f64 (*.f64 im -1/2) im 1) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))))
(fma.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4)) (fma.f64 -1/720 (*.f64 (+.f64 re 1) (pow.f64 im 6)) (+.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 (+.f64 re 1) (*.f64 im im))))))
(fma.f64 1/24 (*.f64 (+.f64 re 1) (pow.f64 im 4)) (fma.f64 -1/720 (*.f64 (+.f64 re 1) (pow.f64 im 6)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))))
(fma.f64 (pow.f64 im 4) (fma.f64 re 1/24 1/24) (*.f64 (+.f64 re 1) (+.f64 (fma.f64 -1/2 (*.f64 im im) 1) (*.f64 -1/720 (pow.f64 im 6)))))
(*.f64 (+.f64 re 1) (+.f64 (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 -1/2 (*.f64 im im) 1)))
(*.f64 (+.f64 re 1) (+.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (+.f64 re 1) (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (+.f64 (fma.f64 (*.f64 im -1/2) im 1) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 re (cos.f64 im)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 re (cos.f64 im)) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(-.f64 (+.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im))) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (fma.f64 re re (-.f64 1 re)))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 re re (-.f64 1 re)) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 re re (-.f64 1 re))) (+.f64 1 (pow.f64 re 3)))
(*.f64 (cos.f64 im) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(*.f64 (cos.f64 im) (+.f64 re 1))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (fma.f64 re re (-.f64 1 re)))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 re re (-.f64 1 re)) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (fma.f64 re re (-.f64 1 re))) (+.f64 1 (pow.f64 re 3)))
(*.f64 (cos.f64 im) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) 1/3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 3)
(*.f64 (cos.f64 im) (+.f64 re 1))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)
(*.f64 (cos.f64 im) (+.f64 re 1))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 re 1) 3) (pow.f64 (cos.f64 im) 3)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 im) 3) (pow.f64 (+.f64 re 1) 3)))
(*.f64 (cos.f64 im) (+.f64 re 1))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(*.f64 (cos.f64 im) (+.f64 re 1))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))

localize7.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
0.1b
(*.f64 (cos.f64 im) re)
Compiler

Compiled 17 to 5 computations (70.6% saved)

series20.0ms (0.5%)

Counts
2 → 11
Calls

12 calls:

TimeVariablePointExpression
3.0ms
re
@inf
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
2.0ms
im
@0
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
2.0ms
im
@0
(*.f64 (cos.f64 im) re)
2.0ms
re
@0
(*.f64 (cos.f64 im) re)
1.0ms
im
@inf
(*.f64 (cos.f64 im) re)
Compiler

Compiled 615 to 440 computations (28.5% saved)

rewrite46.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
713×pow1_binary64
661×add-log-exp_binary64
661×log1p-expm1-u_binary64
661×expm1-log1p-u_binary64
646×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
112915
2178915
Stop Event
node limit
Counts
2 → 49
Calls
Call 1
Inputs
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 im) re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (cos.f64 im) (+.f64 1 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 re 1))) (/.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (-.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (+.f64 1 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cos.f64 im) (+.f64 re 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (cos.f64 im) (+.f64 1 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2)) (/.f64 1 (*.f64 (cos.f64 im) (-.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 re 1) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))) (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 (cos.f64 im) (-.f64 re 1)) (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 re (pow.f64 (cos.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (-.f64 re 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 re 1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) re) 2)) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cos.f64 im) re (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 re (cos.f64 im) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (cos.f64 im) re) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 2) (cbrt.f64 (*.f64 (cos.f64 im) re)) (cos.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) (sqrt.f64 (*.f64 (cos.f64 im) re)) (cos.f64 im))))))

simplify50.0ms (1.4%)

Algorithm
egg-herbie
Rules
912×fma-neg_binary64
666×times-frac_binary64
617×fma-def_binary64
334×unswap-sqr_binary64
246×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01421055
1375939
21336806
37337806
Stop Event
node limit
Counts
60 → 85
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1/720 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(+.f64 1 re)
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 re) 1/2)) (+.f64 1 re))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 re) 1/2)) (+.f64 1 (+.f64 re (*.f64 (+.f64 (*.f64 1/24 re) 1/24) (pow.f64 im 4)))))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 re) 1/2)) (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/720 re) 1/720) (pow.f64 im 6)) (+.f64 re (*.f64 (+.f64 (*.f64 1/24 re) 1/24) (pow.f64 im 4))))))
(cos.f64 im)
(*.f64 (cos.f64 im) re)
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 1 (*.f64 (cos.f64 im) re)) 1)
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(-.f64 (+.f64 1 (*.f64 (cos.f64 im) (+.f64 1 re))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 re 1))) (/.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (-.f64 re 1))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 1 re)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(*.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2)) (/.f64 1 (*.f64 (cos.f64 im) (-.f64 re 1))))
(*.f64 (+.f64 re 1) (cos.f64 im))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))) (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 im) (-.f64 re 1)) (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 re (pow.f64 (cos.f64 im) 2)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (-.f64 re 1)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 re 1))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) re) 2)) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2))
(log.f64 (exp.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))
(fma.f64 1 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 2) (cbrt.f64 (*.f64 (cos.f64 im) re)) (cos.f64 im))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) (sqrt.f64 (*.f64 (cos.f64 im) re)) (cos.f64 im))
Outputs
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 -1/2 (*.f64 re (*.f64 im im))))
(fma.f64 -1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 re (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (+.f64 re (*.f64 -1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 re (*.f64 im im)) re))
(*.f64 re (+.f64 (*.f64 -1/2 (*.f64 im im)) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 -1/720 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))))
(fma.f64 -1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (+.f64 re (*.f64 -1/2 (*.f64 re (*.f64 im im))))))
(fma.f64 -1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 re (*.f64 im im)) re)))
(fma.f64 re (*.f64 1/24 (pow.f64 im 4)) (*.f64 re (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (fma.f64 -1/2 (*.f64 im im) 1))))
(+.f64 1 re)
(+.f64 re 1)
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 re) 1/2)) (+.f64 1 re))
(fma.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2) (+.f64 re 1))
(fma.f64 (*.f64 im im) (fma.f64 re -1/2 -1/2) (+.f64 re 1))
(+.f64 re (fma.f64 (*.f64 im im) (fma.f64 re -1/2 -1/2) 1))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 re) 1/2)) (+.f64 1 (+.f64 re (*.f64 (+.f64 (*.f64 1/24 re) 1/24) (pow.f64 im 4)))))
(fma.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2) (+.f64 (+.f64 re 1) (*.f64 (pow.f64 im 4) (fma.f64 1/24 re 1/24))))
(+.f64 (fma.f64 (pow.f64 im 4) (fma.f64 re 1/24 1/24) re) (fma.f64 (*.f64 im im) (fma.f64 re -1/2 -1/2) 1))
(+.f64 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 -1/2 re) 1/2)) (+.f64 1 (+.f64 (*.f64 (-.f64 (*.f64 -1/720 re) 1/720) (pow.f64 im 6)) (+.f64 re (*.f64 (+.f64 (*.f64 1/24 re) 1/24) (pow.f64 im 4))))))
(fma.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2) (+.f64 1 (fma.f64 (fma.f64 -1/720 re -1/720) (pow.f64 im 6) (+.f64 re (*.f64 (pow.f64 im 4) (fma.f64 1/24 re 1/24))))))
(+.f64 (fma.f64 (pow.f64 im 6) (fma.f64 re -1/720 -1/720) (fma.f64 (pow.f64 im 4) (fma.f64 re 1/24 1/24) re)) (fma.f64 (*.f64 im im) (fma.f64 re -1/2 -1/2) 1))
(+.f64 (fma.f64 (pow.f64 im 4) (fma.f64 re 1/24 1/24) re) (fma.f64 im (*.f64 im (fma.f64 re -1/2 -1/2)) (fma.f64 (pow.f64 im 6) (fma.f64 re -1/720 -1/720) 1)))
(cos.f64 im)
(*.f64 (cos.f64 im) re)
(*.f64 re (cos.f64 im))
(*.f64 (cos.f64 im) re)
(*.f64 re (cos.f64 im))
(-.f64 (+.f64 1 (*.f64 (cos.f64 im) re)) 1)
(*.f64 re (cos.f64 im))
(pow.f64 (*.f64 (cos.f64 im) re) 1)
(*.f64 re (cos.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 3)
(*.f64 re (cos.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) 2)
(*.f64 re (cos.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) 1/3)
(*.f64 re (cos.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2))
(*.f64 re (cos.f64 im))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) re))
(*.f64 re (cos.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3))
(*.f64 re (cos.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) re)))
(*.f64 re (cos.f64 im))
(-.f64 (+.f64 1 (*.f64 (cos.f64 im) (+.f64 1 re))) 1)
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 re 1))) (/.f64 (pow.f64 (cos.f64 im) 2) (*.f64 (cos.f64 im) (-.f64 re 1))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (/.f64 (*.f64 re re) 1)) (cos.f64 im)) (+.f64 re -1))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 1 (*.f64 (cos.f64 im) (+.f64 1 re)))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))))) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))) (pow.f64 (*.f64 re (cos.f64 im)) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (-.f64 1 re) (pow.f64 (cos.f64 im) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2)) (/.f64 1 (*.f64 (cos.f64 im) (-.f64 re 1))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (/.f64 (*.f64 re re) 1)) (cos.f64 im)) (+.f64 re -1))
(*.f64 (+.f64 re 1) (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))) (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))))) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))) (pow.f64 (*.f64 re (cos.f64 im)) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (-.f64 1 re) (pow.f64 (cos.f64 im) 2))))
(/.f64 1 (/.f64 (*.f64 (cos.f64 im) (-.f64 re 1)) (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (/.f64 (*.f64 re re) 1)) (cos.f64 im)) (+.f64 re -1))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))))) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))) (pow.f64 (*.f64 re (cos.f64 im)) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (-.f64 1 re) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 re (pow.f64 (cos.f64 im) 2)))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))))) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))) (pow.f64 (*.f64 re (cos.f64 im)) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (-.f64 1 re) (pow.f64 (cos.f64 im) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (-.f64 re 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (/.f64 (*.f64 re re) 1)) (cos.f64 im)) (+.f64 re -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 3) (pow.f64 (cos.f64 im) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re))))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))))) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) (*.f64 re (cos.f64 im))) (pow.f64 (*.f64 re (cos.f64 im)) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) 1) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (*.f64 (-.f64 1 re) (pow.f64 (cos.f64 im) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 im) re) 2) (pow.f64 (cos.f64 im) 2))) (neg.f64 (*.f64 (cos.f64 im) (-.f64 re 1))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (/.f64 (*.f64 re re) 1)) (cos.f64 im)) (+.f64 re -1))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (pow.f64 (*.f64 (cos.f64 im) re) 2)) (-.f64 (cos.f64 im) (*.f64 (cos.f64 im) re)))
(/.f64 (-.f64 (pow.f64 (*.f64 re (cos.f64 im)) 2) (pow.f64 (cos.f64 im) 2)) (*.f64 (cos.f64 im) (+.f64 re -1)))
(/.f64 (-.f64 (*.f64 (cos.f64 im) (/.f64 (*.f64 re re) 1)) (cos.f64 im)) (+.f64 re -1))
(pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(pow.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 3)
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2)
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(log.f64 (exp.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(exp.f64 (log.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 1 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) re)) 2) (cbrt.f64 (*.f64 (cos.f64 im) re)) (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 (sqrt.f64 (*.f64 (cos.f64 im) re)) (sqrt.f64 (*.f64 (cos.f64 im) re)) (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(*.f64 (+.f64 re 1) (cos.f64 im))

eval34.0ms (0.9%)

Compiler

Compiled 1874 to 1048 computations (44.1% saved)

prune25.0ms (0.7%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New1314135
Fresh000
Picked011
Done044
Total1319140
Error
0.0b
Counts
140 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
24.2b
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
24.3b
(+.f64 re (cos.f64 im))
40.6b
(+.f64 re 1)
24.4b
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
42.0b
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
24.2b
(*.f64 (+.f64 re 1) (cos.f64 im))
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
16.7b
(exp.f64 re)
24.3b
(cos.f64 im)
Compiler

Compiled 68 to 50 computations (26.5% saved)

localize13.0ms (0.3%)

Local error

Found 1 expressions with local error:

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

Compiled 35 to 20 computations (42.9% saved)

series12.0ms (0.3%)

Counts
1 → 24
Calls

6 calls:

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

Compiled 802 to 675 computations (15.8% saved)

rewrite53.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
527×prod-diff_binary64
485×log-prod_binary64
369×pow-prod-down_binary64
362×fma-def_binary64
266×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify68.0ms (1.8%)

Algorithm
egg-herbie
Rules
428×fma-neg_binary64
305×cancel-sign-sub-inv_binary64
270×div-sub_binary64
253×*-commutative_binary64
231×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02472195
16982168
220172136
351012054
Stop Event
node limit
Counts
113 → 141
Calls
Call 1
Inputs
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re))) re))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re))) re))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re))) re))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re))) re))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re))) re))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re))) re))
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(+.f64 (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(+.f64 (+.f64 1 re) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(+.f64 (+.f64 1 re) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(+.f64 0 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)))
(+.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)) (+.f64 1 re))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) (+.f64 1 re))
(+.f64 (fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) re (*.f64 -1/2 (*.f64 im im))) 1)
(+.f64 (fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) re 1) (*.f64 -1/2 (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)))) 1)
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 1 (pow.f64 re 3))) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (*.f64 im im) -1) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (fma.f64 re re -1)) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))) (+.f64 re -1)))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (*.f64 im im) -1) (+.f64 re -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/8 (pow.f64 im 6) 1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/8 (pow.f64 im 6) 1)) (*.f64 (+.f64 re -1) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(/.f64 (+.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 3) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 3)) (+.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 2) (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2) (*.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 2) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2)) (-.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1)))
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 1 re)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (*.f64 im im) 1)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/2 (*.f64 im im) 1)) (+.f64 re -1))
(/.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (*.f64 (+.f64 1 re) (fma.f64 -1/8 (pow.f64 im 6) 1)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(/.f64 (*.f64 (+.f64 1 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 -1/2 (*.f64 im im) -1))
(pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)))))
(log.f64 (*.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/2 (*.f64 im im) 1))) (exp.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))))
(log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (+.f64 1 (expm1.f64 (fma.f64 -1/2 (*.f64 im im) 1)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 1/3))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 2))
(fma.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re) (+.f64 1 re))
(fma.f64 1 (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 1 (+.f64 1 re) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 1 (+.f64 1 re) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 1 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) re (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 re (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(fma.f64 (+.f64 1 re) 1 (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 (+.f64 1 re) 1 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (cbrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (+.f64 1 re)) (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 (cbrt.f64 (+.f64 1 re)) (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (cbrt.f64 (+.f64 1 re)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (cbrt.f64 (+.f64 1 re)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (+.f64 1 re)) (sqrt.f64 (+.f64 1 re)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 (sqrt.f64 (+.f64 1 re)) (sqrt.f64 (+.f64 1 re)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(fma.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 -1/2 (*.f64 im im) -1)) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 1 (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) 2) (cbrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (sqrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (cbrt.f64 (*.f64 re re))) (cbrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (sqrt.f64 re)) (sqrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2)) (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 -1/2 (*.f64 im im) 1))
Outputs
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 (/.f64 1 im) -2)))
(*.f64 (pow.f64 (/.f64 1 im) -2) (*.f64 (+.f64 1 re) -1/2))
(*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im)))
(*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re))) re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re))) re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re))) re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (+.f64 1 re) (pow.f64 (/.f64 1 im) -2)))
(*.f64 (pow.f64 (/.f64 1 im) -2) (*.f64 (+.f64 1 re) -1/2))
(*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im)))
(*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re))) re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re))) re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re))) re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (*.f64 -1/2 (pow.f64 im 2)))
(fma.f64 -1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 (+.f64 1 (*.f64 -1/2 (pow.f64 im 2))) re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (+.f64 1 re) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (+.f64 1 re) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 0 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) (+.f64 1 re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) re (*.f64 -1/2 (*.f64 im im))) 1)
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)))) 1)
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 1 (pow.f64 re 3))) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) 1/2))) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2)))))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 im im) -1))) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (+.f64 1 (pow.f64 re 3))) (*.f64 (fma.f64 -1/2 (*.f64 im im) -1) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (-.f64 (fma.f64 re re 1) re)) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (*.f64 im im) -1)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (*.f64 im im) -1))))
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (fma.f64 re re -1)) (*.f64 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) 1/2))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))) (+.f64 re -1))))
(/.f64 (+.f64 1 re) (/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 im im) -1)) (fma.f64 -1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 re re -1)) (*.f64 (fma.f64 -1/2 (*.f64 im im) -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (+.f64 1 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/8 (pow.f64 im 6) 1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) 1/2))) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (fma.f64 re re 1) re)))
(*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2)))))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 im im) -1))) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/8 (pow.f64 im 6) 1)) (*.f64 (+.f64 re -1) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) 1/2))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))) (+.f64 re -1))))
(/.f64 (+.f64 1 re) (/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 im im) -1)) (fma.f64 -1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (*.f64 im im) -1)))
(*.f64 (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (-.f64 (fma.f64 re re 1) re)) (/.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (*.f64 im im) -1)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (*.f64 (-.f64 (fma.f64 re re 1) re) (fma.f64 -1/2 (*.f64 im im) -1))))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 1/4 (pow.f64 im 4) -1)) (*.f64 (+.f64 re -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (+.f64 1 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(/.f64 (+.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 3) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 3)) (+.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 2) (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2) (*.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 3) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 3)) (+.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 2) (-.f64 (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) 3) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 3)) (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) 2) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (-.f64 (fma.f64 -1/2 (*.f64 im im) 1) (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1))))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) 3) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 3)) (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) 2) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (-.f64 1 re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) 3) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 3)) (+.f64 (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2) (*.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 re -1)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 2) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2)) (-.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) 2) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2)) (-.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 -1/2 (*.f64 im im) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) 2) (pow.f64 (fma.f64 -1/2 (*.f64 im im) 1) 2)) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 re -1)))
(/.f64 (*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1)) 1)
(/.f64 (*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 1 re)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) 1/2))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))) (+.f64 re -1))))
(/.f64 (+.f64 1 re) (/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 im im) -1)) (fma.f64 -1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) -1))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (+.f64 1 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (fma.f64 -1/2 (*.f64 im im) 1)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (fma.f64 -1/2 (*.f64 im im) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 -1/2 (*.f64 im im) 1) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 re re -1) (fma.f64 -1/2 (*.f64 im im) 1)) (+.f64 re -1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (fma.f64 -1/2 (*.f64 im im) 1) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (fma.f64 -1/2 (*.f64 im im) 1) (-.f64 (fma.f64 re re 1) re)))
(/.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 re re -1)) (+.f64 re -1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (+.f64 1 re) (fma.f64 -1/8 (pow.f64 im 6) 1)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) 1/2))) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(*.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 (fma.f64 re re -1) (*.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2))) (+.f64 re -1))))
(/.f64 (+.f64 1 re) (/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 im im) -1)) (fma.f64 -1/8 (pow.f64 im 6) 1)))
(/.f64 (*.f64 (+.f64 1 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 -1/2 (*.f64 im im) -1))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)) (/.f64 (fma.f64 re re -1) (+.f64 re -1)))
(/.f64 (/.f64 (fma.f64 re re -1) (+.f64 re -1)) (/.f64 (fma.f64 -1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (+.f64 1 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 1)
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 2) 1/2)
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 3) 1/3)
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))) 3)
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))) 2)
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 2))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (fma.f64 -1/2 (*.f64 im im) 1)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (exp.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (exp.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/2 (*.f64 im im) 1))) (exp.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (exp.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (+.f64 1 (expm1.f64 (fma.f64 -1/2 (*.f64 im im) 1)))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re)) 3))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 re))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))) 1))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 3 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 1/3))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 1/3 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 3))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (*.f64 1/2 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im))))) 2))
(exp.f64 (+.f64 (log1p.f64 re) (log1p.f64 (*.f64 -1/2 (*.f64 im im)))))
(fma.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re) (+.f64 1 re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 1 (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 1 (+.f64 1 re) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 1 (+.f64 1 re) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 1 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) 1 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 -1/2 (*.f64 im im) 1) re (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 re (fma.f64 -1/2 (*.f64 im im) 1) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (+.f64 1 re) 1 (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (+.f64 1 re) 1 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (cbrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (cbrt.f64 re)) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 (*.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re))))
(fma.f64 (cbrt.f64 (+.f64 1 re)) (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (+.f64 1 re)) (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (cbrt.f64 (+.f64 1 re)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 re)) 2) (cbrt.f64 (+.f64 1 re)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2) (*.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (+.f64 1 re)) (sqrt.f64 (+.f64 1 re)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (+.f64 1 re)) (sqrt.f64 (+.f64 1 re)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) 1) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(+.f64 (*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(fma.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re 1) re)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(+.f64 (*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(+.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) (/.f64 (+.f64 1 (pow.f64 re 3)) (-.f64 (fma.f64 re re 1) re)))
(fma.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 1 (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(fma.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (*.f64 im im)))) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(+.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) 1/2))))
(+.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 im (*.f64 im 1/2)))))
(+.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) (/.f64 (fma.f64 -1/8 (pow.f64 im 6) 1) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 im im) -1))))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 re re -1) (/.f64 1 (+.f64 re -1)) (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 1 (fma.f64 -1/2 (*.f64 im im) -1)) (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re))
(+.f64 (*.f64 re (fma.f64 -1/2 (*.f64 im im) 1)) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 -1/2 (*.f64 im im) -1)))
(fma.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re) 1 (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) 2) (cbrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (sqrt.f64 (fma.f64 (*.f64 -1/2 (*.f64 im im)) re re)) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (cbrt.f64 (*.f64 re re))) (cbrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (*.f64 re re)) (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (cbrt.f64 re)) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (+.f64 1 (*.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re))))
(fma.f64 (*.f64 (fma.f64 -1/2 (*.f64 im im) 1) (sqrt.f64 re)) (sqrt.f64 re) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) 2)) (cbrt.f64 (fma.f64 -1/2 (*.f64 im im) 1)) (fma.f64 -1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 re) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (fma.f64 -1/2 (*.f64 im im) 1))
(fma.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2))) (*.f64 re (hypot.f64 1 (*.f64 im (sqrt.f64 -1/2)))) (fma.f64 -1/2 (*.f64 im im) 1))

localize14.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (+.f64 re 1) (cos.f64 im))
0.1b
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
1.6b
(-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
Compiler

Compiled 34 to 21 computations (38.2% saved)

series18.0ms (0.5%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
im
@0
(-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
2.0ms
im
@0
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
2.0ms
re
@0
(-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
2.0ms
im
@inf
(-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
2.0ms
im
@-inf
(-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
Compiler

Compiled 708 to 532 computations (24.9% saved)

rewrite61.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
642×prod-diff_binary64
619×unpow-prod-down_binary64
403×log-prod_binary64
367×fma-def_binary64
250×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify82.0ms (2.2%)

Algorithm
egg-herbie
Rules
582×cancel-sign-sub-inv_binary64
554×times-frac_binary64
406×fma-neg_binary64
280×associate-/l*_binary64
246×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03733811
19043572
226373481
Stop Event
node limit
Counts
228 → 281
Calls
Call 1
Inputs
(-.f64 (cos.f64 im) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))))
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) -1)
(+.f64 0 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))
(+.f64 -1 (*.f64 (+.f64 re 1) (cos.f64 im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))))
(*.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))
(*.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1)
(*.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(*.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))))
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))) 1))
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (/.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)))
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (pow.f64 (/.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) 1))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 re 1)) 1) (-.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 (+.f64 re 1) (cos.f64 im) -1))
(*.f64 (pow.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 re 1)) 1) 1) (pow.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 2) 3) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3/2) 1/3) (pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3/2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1)))
(/.f64 1 (/.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1)))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (-.f64 1 (*.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) -1))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1)) (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1)) (neg.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)))
(pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1)
(pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) 1/2)
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 3)
(pow.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2)
(pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3) 1/3)
(pow.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1)) -1)
(pow.f64 (/.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1)) -1)
(sqrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))
(log.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))
(expm1.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(expm1.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(exp.f64 (log.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 1))
(fma.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im)) -1)
(fma.f64 (+.f64 re 1) (cos.f64 im) -1)
(fma.f64 (cos.f64 im) (+.f64 re 1) -1)
(fma.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1 -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)) -1)
(fma.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) -1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)) -1)
(fma.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)) -1)
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) -1)
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) -1)
(fma.f64 (sqrt.f64 (+.f64 re 1)) (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)) -1)
(fma.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)) -1)
(fma.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) -1)
(fma.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)) -1)
(fma.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)) -1)
(fma.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) (cbrt.f64 (+.f64 re 1)) -1)
(fma.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) (sqrt.f64 (+.f64 re 1)) -1)
(-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 1)
(-.f64 (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) (/.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(*.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im)))
(*.f64 (+.f64 re 1) (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 re 1))
(*.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (pow.f64 (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)) 1))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (pow.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (pow.f64 (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)) 1))
(*.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)))
(*.f64 (sqrt.f64 (cos.f64 im)) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)) 1))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1))
(*.f64 (sqrt.f64 (+.f64 re 1)) (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)))
(*.f64 (sqrt.f64 (+.f64 re 1)) (pow.f64 (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)) 1))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (pow.f64 (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)) 1))
(*.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(*.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (pow.f64 (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 1))
(*.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(*.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(*.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) (cbrt.f64 (+.f64 re 1)))
(*.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) (sqrt.f64 (+.f64 re 1)))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 re 1) (cos.f64 im)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 3))
(*.f64 (pow.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) 1) (cbrt.f64 (cos.f64 im)))
(*.f64 (pow.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) 1) (sqrt.f64 (cos.f64 im)))
(*.f64 (pow.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) 1) (cbrt.f64 (+.f64 re 1)))
(*.f64 (pow.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) 1) (sqrt.f64 (+.f64 re 1)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 2) 3) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3/2) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (+.f64 re 1)) 1/3) (cbrt.f64 (cos.f64 im)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (cos.f64 im)) 1/3) (cbrt.f64 (+.f64 re 1)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1) (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))))
(/.f64 1 (/.f64 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (+.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))) (neg.f64 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))) (neg.f64 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(/.f64 (-.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 3) 1) (+.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 2) (+.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1))))
(/.f64 (-.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 2) 1) (+.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 1))
(/.f64 (-.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) 1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) 1/2)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) 1/3)
(pow.f64 (/.f64 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1) (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))) -1)
(pow.f64 (/.f64 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))) -1)
(sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))
(fma.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(fma.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1)
(fma.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) -1)
(fma.f64 (+.f64 re 1) (cos.f64 im) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) (+.f64 re 1) 0)
(fma.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1 0)
(fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1 1)
(fma.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2) 1)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 1)
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 re (cos.f64 im)))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)) 0)
(fma.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) 0)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 0)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 0)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)) 0)
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 1)
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)) 0)
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 0)
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 0)
(fma.f64 (sqrt.f64 (+.f64 re 1)) (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)) 0)
(fma.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))) 1)
(fma.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)) 0)
(fma.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (/.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) 1)
(fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 1 -1)
(fma.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 0)
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) 2) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) -1)
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) -1)
(fma.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 re 1)) 1) (-.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1)
(fma.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)) 0)
(fma.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)) 0)
(fma.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) (cbrt.f64 (+.f64 re 1)) 0)
(fma.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) (sqrt.f64 (+.f64 re 1)) 0)
Outputs
(-.f64 (cos.f64 im) 1)
(+.f64 (cos.f64 im) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (cos.f64 im) re)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
re
(+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))
(+.f64 re (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(fma.f64 -1/2 (*.f64 (*.f64 im im) (+.f64 1 re)) re)
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (+.f64 re (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (fma.f64 -1/2 (*.f64 (*.f64 im im) (+.f64 1 re)) re))
(+.f64 re (*.f64 (+.f64 1 re) (+.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re)) (+.f64 re (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re)) (fma.f64 -1/2 (*.f64 (*.f64 im im) (+.f64 1 re)) re)))
(+.f64 (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re)) re) (*.f64 (+.f64 1 re) (+.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (+.f64 1 re) (cos.f64 im)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(cos.f64 im)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) re)
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))
(+.f64 (+.f64 1 re) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 1 re))
(*.f64 (+.f64 1 re) (+.f64 (*.f64 -1/2 (*.f64 im im)) 1))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (+.f64 (+.f64 1 re) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 1 re)))
(*.f64 (+.f64 1 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (+.f64 (*.f64 -1/2 (*.f64 im im)) 1)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 1 re) (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 1 re) (pow.f64 im 6))) (+.f64 1 (+.f64 re (*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re)) (+.f64 (+.f64 1 re) (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re)))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (fma.f64 -1/720 (*.f64 (pow.f64 im 6) (+.f64 1 re)) (*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 1 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (+.f64 1 re)) (*.f64 (+.f64 1 re) (+.f64 (*.f64 -1/720 (pow.f64 im 6)) (+.f64 (*.f64 -1/2 (*.f64 im im)) 1))))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (+.f64 1 re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 re) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(+.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(+.f64 0 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(+.f64 -1 (*.f64 (+.f64 re 1) (cos.f64 im)))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))))
(*.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))) 1))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (/.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (/.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(*.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (pow.f64 (/.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) 1))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (/.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 re 1)) 1) (-.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) -1))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 -1 (sqrt.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)))))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 -1 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re)))))
(*.f64 (pow.f64 1 1/3) (fma.f64 (+.f64 re 1) (cos.f64 im) -1))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (pow.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 re 1)) 1) 1) (pow.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) -1))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 -1 (sqrt.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)))))
(*.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 -1 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 2) 3) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 3))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3/2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3/2)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3/2) 1/3) (pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3/2) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3/2)) (cbrt.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3/2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2)) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)) 2) (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)) 7) (cbrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(*.f64 (cbrt.f64 (*.f64 (sqrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)) (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2))) (cbrt.f64 (sqrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1))))
(*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)) 5)) (cbrt.f64 (sqrt.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(/.f64 1 (/.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1)))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (/.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1)))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (-.f64 1 (*.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) -1))))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (/.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1)) (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1)) (neg.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)))
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (/.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) 1/2)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 3)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(pow.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(pow.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3) 1/3)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(pow.f64 (/.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1)) -1)
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(pow.f64 (/.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1)) -1)
(*.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (/.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))
(sqrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(log.f64 (exp.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(cbrt.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(expm1.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(expm1.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(expm1.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(log1p.f64 (expm1.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(exp.f64 (log.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(exp.f64 (*.f64 (log.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 1))
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (+.f64 re 1) (cos.f64 im) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (cos.f64 im) (+.f64 re 1) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1 -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (sqrt.f64 (+.f64 re 1)) (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)) -1)
(fma.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)) -1)
(+.f64 -1 (/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1)))
(+.f64 -1 (/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1)))
(fma.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) -1)
(fma.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (/.f64 1 (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1))) -1)
(+.f64 -1 (/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im)))))
(+.f64 -1 (/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2)))
(fma.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) (cbrt.f64 (+.f64 re 1)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(fma.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) (sqrt.f64 (+.f64 re 1)) -1)
(+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -1)
(fma.f64 (cos.f64 im) (+.f64 1 re) -1)
(-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(-.f64 (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) (/.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(*.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 re 1) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cos.f64 im) (+.f64 re 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (pow.f64 (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (pow.f64 (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (pow.f64 (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (sqrt.f64 (cos.f64 im)) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (sqrt.f64 (+.f64 re 1)) (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (sqrt.f64 (+.f64 re 1)) (pow.f64 (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)) 1))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (pow.f64 (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)) 1))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(*.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(*.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (pow.f64 (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 1))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(*.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) (cbrt.f64 (+.f64 re 1)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) (sqrt.f64 (+.f64 re 1)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 1 1/3) (*.f64 (+.f64 re 1) (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 3))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) 1) (cbrt.f64 (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) 1) (sqrt.f64 (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) 1) (cbrt.f64 (+.f64 re 1)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) 1) (sqrt.f64 (+.f64 re 1)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 2) 3) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3))))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3/2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3/2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3/2) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3))))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3/2)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3/2)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (+.f64 re 1)) 1/3) (cbrt.f64 (cos.f64 im)))
(*.f64 (cbrt.f64 (cos.f64 im)) (cbrt.f64 (*.f64 (+.f64 1 re) (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2))))
(*.f64 (cbrt.f64 (cos.f64 im)) (cbrt.f64 (*.f64 (+.f64 1 re) (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (cos.f64 im)) 1/3) (cbrt.f64 (+.f64 re 1)))
(*.f64 (cbrt.f64 (+.f64 1 re)) (cbrt.f64 (*.f64 (cos.f64 im) (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2))))
(*.f64 (cbrt.f64 (+.f64 1 re)) (cbrt.f64 (*.f64 (cos.f64 im) (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re)))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)))) (cbrt.f64 (*.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (pow.f64 (cbrt.f64 (fma.f64 (cos.f64 im) re (cos.f64 im))) 2))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re)))) (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 7) (cbrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))))
(*.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))) 1/3) (cbrt.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))))) (cbrt.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (sqrt.f64 (fma.f64 (cos.f64 im) re (cos.f64 im))))) (cbrt.f64 (sqrt.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)))))
(*.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) 5)) (cbrt.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re)))))
(/.f64 1 (/.f64 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1) (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(/.f64 1 (/.f64 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (+.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))) (neg.f64 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)))
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(/.f64 (neg.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))) (neg.f64 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(/.f64 (-.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 3) 1) (+.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 2) (+.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (+.f64 1 re) (cos.f64 im) 1) 3) -1) (+.f64 (pow.f64 (fma.f64 (+.f64 1 re) (cos.f64 im) 1) 2) (+.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) 1) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) 1) 2) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) 1) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) 1) 2) (+.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 2) 1) (+.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 1))
(/.f64 (+.f64 (pow.f64 (fma.f64 (+.f64 1 re) (cos.f64 im) 1) 2) -1) (+.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) 1) 2)) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) 1) 2)) (+.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2))
(/.f64 (-.f64 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2) 1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (cos.f64 im)) (-.f64 (fma.f64 re re 1) re))
(/.f64 (cos.f64 im) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (-.f64 (fma.f64 re re 1) re) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(/.f64 (*.f64 (fma.f64 re re -1) (cos.f64 im)) (+.f64 re -1))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(/.f64 (*.f64 (cos.f64 im) (+.f64 1 (pow.f64 re 3))) (-.f64 (fma.f64 re re 1) re))
(/.f64 (cos.f64 im) (/.f64 (-.f64 (fma.f64 re re 1) re) (+.f64 1 (pow.f64 re 3))))
(/.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 (-.f64 (fma.f64 re re 1) re) (cos.f64 im)))
(*.f64 (/.f64 (cos.f64 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(/.f64 (*.f64 (cos.f64 im) (fma.f64 re re -1)) (+.f64 re -1))
(/.f64 (cos.f64 im) (/.f64 (+.f64 re -1) (fma.f64 re re -1)))
(*.f64 (/.f64 (cos.f64 im) (+.f64 re -1)) (fma.f64 re re -1))
(pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) 1/2)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 3)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(pow.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) 1/3)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(pow.f64 (/.f64 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1) (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3))) -1)
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(pow.f64 (/.f64 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2))) -1)
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(log.f64 (pow.f64 (exp.f64 (cos.f64 im)) (+.f64 re 1)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im)))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 re 1) (cos.f64 im))))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(exp.f64 (*.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))) 1))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (cos.f64 im))))
(*.f64 (cos.f64 im) (exp.f64 (log1p.f64 re)))
(fma.f64 re (cos.f64 im) (cos.f64 im))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 1 (cos.f64 im) (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 1 (cos.f64 im) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 1 (*.f64 (+.f64 re 1) (cos.f64 im)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) -1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (+.f64 re 1) (cos.f64 im) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) 1 (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) 1 (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cos.f64 im) (+.f64 re 1) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2) 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 2) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cbrt.f64 (cos.f64 im)) (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (*.f64 (cbrt.f64 (cos.f64 im)) (+.f64 re 1)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 2) (*.f64 (cbrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 re 1)) 2) (*.f64 (cbrt.f64 (+.f64 re 1)) (cos.f64 im)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1)) 1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 re (cos.f64 im)))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) (*.f64 (cos.f64 im) re))
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (cos.f64 im)) (*.f64 (sqrt.f64 (cos.f64 im)) (+.f64 re 1)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) (*.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (+.f64 re 1)) (*.f64 (sqrt.f64 (+.f64 re 1)) (cos.f64 im)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) (fma.f64 (+.f64 re 1) (cos.f64 im) 1))) 1)
(fma.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2) (fma.f64 (+.f64 1 re) (cos.f64 im) 1))) 1)
(+.f64 1 (/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 3)) (+.f64 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2) (fma.f64 (cos.f64 im) (+.f64 1 re) 1))))
(+.f64 1 (/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 3)) (+.f64 1 (*.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))))
(fma.f64 (+.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) (-.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 1) 1)) 0)
(*.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (/.f64 1 (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) -1) 1)))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (+.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 3)) (fma.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) (fma.f64 (cos.f64 im) (+.f64 1 re) -2) 1))
(fma.f64 (+.f64 (pow.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 2) -1) (/.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) 1)
(fma.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (/.f64 1 (fma.f64 (+.f64 1 re) (cos.f64 im) 1)) 1)
(+.f64 1 (/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(+.f64 1 (/.f64 (+.f64 -1 (pow.f64 (*.f64 (cos.f64 im) (+.f64 1 re)) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) 1)))
(fma.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1) 1 -1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (-.f64 1 (pow.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) -1) 2)) (/.f64 1 (-.f64 1 (fma.f64 (+.f64 re 1) (cos.f64 im) -1))) 0)
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 1 (fma.f64 (cos.f64 im) (+.f64 1 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (-.f64 2 (fma.f64 (cos.f64 im) re (cos.f64 im))))
(/.f64 (+.f64 -1 (pow.f64 (fma.f64 (cos.f64 im) (+.f64 1 re) -1) 2)) (fma.f64 (cos.f64 im) (+.f64 1 re) -2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) 2) (cbrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) -1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) (sqrt.f64 (fma.f64 (+.f64 re 1) (cos.f64 im) 1)) -1)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 re 1)) 1) (-.f64 (sqrt.f64 (*.f64 (+.f64 re 1) (cos.f64 im))) 1) 1)
(fma.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re))) -1) 1)
(fma.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 -1 (sqrt.f64 (fma.f64 (cos.f64 im) re (cos.f64 im)))) 1)
(fma.f64 (fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (+.f64 1 re)) 1) (+.f64 -1 (sqrt.f64 (*.f64 (cos.f64 im) (+.f64 1 re)))) 1)
(fma.f64 (*.f64 (+.f64 re 1) (pow.f64 (cbrt.f64 (cos.f64 im)) 2)) (cbrt.f64 (cos.f64 im)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (*.f64 (+.f64 re 1) (sqrt.f64 (cos.f64 im))) (sqrt.f64 (cos.f64 im)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (*.f64 (cos.f64 im) (pow.f64 (cbrt.f64 (+.f64 re 1)) 2)) (cbrt.f64 (+.f64 re 1)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))
(fma.f64 (*.f64 (cos.f64 im) (sqrt.f64 (+.f64 re 1))) (sqrt.f64 (+.f64 re 1)) 0)
(fma.f64 (cos.f64 im) re (cos.f64 im))
(*.f64 (cos.f64 im) (+.f64 1 re))

localize3.0ms (0.1%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 re (cos.f64 im))
Compiler

Compiled 10 to 4 computations (60% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
im
@0
(+.f64 re (cos.f64 im))
1.0ms
re
@0
(+.f64 re (cos.f64 im))
1.0ms
im
@inf
(+.f64 re (cos.f64 im))
1.0ms
im
@-inf
(+.f64 re (cos.f64 im))
1.0ms
re
@inf
(+.f64 re (cos.f64 im))
Compiler

Compiled 246 to 190 computations (22.8% saved)

rewrite40.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
612×pow1_binary64
569×add-log-exp_binary64
569×log1p-expm1-u_binary64
569×expm1-log1p-u_binary64
556×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify44.0ms (1.2%)

Algorithm
egg-herbie
Rules
526×fma-neg_binary64
403×associate-*l*_binary64
382×cancel-sign-sub-inv_binary64
359×associate-*r*_binary64
350×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0104495
1265478
2788478
34458478
Stop Event
node limit
Counts
57 → 54
Calls
Call 1
Inputs
(cos.f64 im)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
re
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
re
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 1 re)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) re)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (+.f64 re (*.f64 -1/720 (pow.f64 im 6))))))
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(-.f64 (+.f64 1 (+.f64 re (cos.f64 im))) 1)
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (cos.f64 im))) (/.f64 (pow.f64 (cos.f64 im) 2) (-.f64 re (cos.f64 im))))
(*.f64 (+.f64 re (cos.f64 im)) 1)
(*.f64 1 (+.f64 re (cos.f64 im)))
(*.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) (pow.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) 2) (cbrt.f64 (+.f64 re (cos.f64 im))))
(*.f64 (sqrt.f64 (+.f64 re (cos.f64 im))) (sqrt.f64 (+.f64 re (cos.f64 im))))
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (/.f64 1 (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re)))))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2)) (/.f64 1 (-.f64 re (cos.f64 im))))
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))) (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 1 (/.f64 (-.f64 re (cos.f64 im)) (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (*.f64 re re) (*.f64 re (cos.f64 im)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2)) (-.f64 re (cos.f64 im)))
(/.f64 (neg.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3))) (neg.f64 (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re)))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2))) (neg.f64 (-.f64 re (cos.f64 im))))
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 re re)) (-.f64 (cos.f64 im) re))
(pow.f64 (+.f64 re (cos.f64 im)) 1)
(pow.f64 (pow.f64 (+.f64 re (cos.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) 3)
(pow.f64 (sqrt.f64 (+.f64 re (cos.f64 im))) 2)
(sqrt.f64 (pow.f64 (+.f64 re (cos.f64 im)) 2))
(log.f64 (exp.f64 (+.f64 re (cos.f64 im))))
(cbrt.f64 (pow.f64 (+.f64 re (cos.f64 im)) 3))
(expm1.f64 (log1p.f64 (+.f64 re (cos.f64 im))))
(log1p.f64 (expm1.f64 (+.f64 re (cos.f64 im))))
(exp.f64 (log.f64 (+.f64 re (cos.f64 im))))
(fma.f64 1 re (cos.f64 im))
(fma.f64 1 (cos.f64 im) re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (cos.f64 im))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (cos.f64 im))
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) re)
Outputs
(cos.f64 im)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
re
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
re
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) re))
(+.f64 1 (fma.f64 -1/2 (*.f64 im im) re))
(+.f64 re (fma.f64 im (*.f64 im -1/2) 1))
(+.f64 re (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) re)))
(+.f64 1 (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) re)))
(+.f64 1 (fma.f64 im (*.f64 im -1/2) (fma.f64 1/24 (pow.f64 im 4) re)))
(+.f64 (fma.f64 1/24 (pow.f64 im 4) re) (fma.f64 -1/2 (*.f64 im im) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (+.f64 re (*.f64 -1/720 (pow.f64 im 6))))))
(+.f64 1 (fma.f64 -1/2 (*.f64 im im) (+.f64 (fma.f64 1/24 (pow.f64 im 4) re) (*.f64 -1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (fma.f64 -1/720 (pow.f64 im 6) re))))
(+.f64 1 (fma.f64 im (*.f64 im -1/2) (fma.f64 1/24 (pow.f64 im 4) (fma.f64 -1/720 (pow.f64 im 6) re))))
(+.f64 1 (fma.f64 1/24 (pow.f64 im 4) (fma.f64 im (*.f64 im -1/2) (fma.f64 -1/720 (pow.f64 im 6) re))))
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(-.f64 (+.f64 1 (+.f64 re (cos.f64 im))) 1)
(+.f64 (cos.f64 im) re)
(-.f64 (/.f64 (*.f64 re re) (-.f64 re (cos.f64 im))) (/.f64 (pow.f64 (cos.f64 im) 2) (-.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(*.f64 (+.f64 re (cos.f64 im)) 1)
(+.f64 (cos.f64 im) re)
(*.f64 1 (+.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) re)
(*.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) (pow.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) 2))
(+.f64 (cos.f64 im) re)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) 2) (cbrt.f64 (+.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(*.f64 (sqrt.f64 (+.f64 re (cos.f64 im))) (sqrt.f64 (+.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (/.f64 1 (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) 1) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) re) (*.f64 re re)))
(*.f64 (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2)) (/.f64 1 (-.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(/.f64 1 (/.f64 (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))) (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) 1) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) re) (*.f64 re re)))
(/.f64 1 (/.f64 (-.f64 re (cos.f64 im)) (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2))))
(+.f64 (cos.f64 im) re)
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) 1) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) re) (*.f64 re re)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (+.f64 (pow.f64 (cos.f64 im) 2) (-.f64 (*.f64 re re) (*.f64 re (cos.f64 im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) 1) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) re) (*.f64 re re)))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2)) (-.f64 re (cos.f64 im)))
(+.f64 (cos.f64 im) re)
(/.f64 (neg.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3))) (neg.f64 (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re)))))
(/.f64 (*.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) 1) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re re (*.f64 (cos.f64 im) (-.f64 (cos.f64 im) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 re (-.f64 re (cos.f64 im)) (pow.f64 (cos.f64 im) 2)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (cos.f64 im) 3)) (fma.f64 (cos.f64 im) (-.f64 (cos.f64 im) re) (*.f64 re re)))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (pow.f64 (cos.f64 im) 2))) (neg.f64 (-.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(/.f64 (-.f64 (pow.f64 (cos.f64 im) 2) (*.f64 re re)) (-.f64 (cos.f64 im) re))
(+.f64 (cos.f64 im) re)
(pow.f64 (+.f64 re (cos.f64 im)) 1)
(+.f64 (cos.f64 im) re)
(pow.f64 (pow.f64 (+.f64 re (cos.f64 im)) 3) 1/3)
(+.f64 (cos.f64 im) re)
(pow.f64 (cbrt.f64 (+.f64 re (cos.f64 im))) 3)
(+.f64 (cos.f64 im) re)
(pow.f64 (sqrt.f64 (+.f64 re (cos.f64 im))) 2)
(+.f64 (cos.f64 im) re)
(sqrt.f64 (pow.f64 (+.f64 re (cos.f64 im)) 2))
(+.f64 (cos.f64 im) re)
(log.f64 (exp.f64 (+.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(cbrt.f64 (pow.f64 (+.f64 re (cos.f64 im)) 3))
(+.f64 (cos.f64 im) re)
(expm1.f64 (log1p.f64 (+.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(log1p.f64 (expm1.f64 (+.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(exp.f64 (log.f64 (+.f64 re (cos.f64 im))))
(+.f64 (cos.f64 im) re)
(fma.f64 1 re (cos.f64 im))
(+.f64 (cos.f64 im) re)
(fma.f64 1 (cos.f64 im) re)
(+.f64 (cos.f64 im) re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (cos.f64 im))
(+.f64 (cos.f64 im) re)
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 im)) 2) (cbrt.f64 (cos.f64 im)) re)
(+.f64 (cos.f64 im) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (cos.f64 im))
(+.f64 (cos.f64 im) re)
(fma.f64 (sqrt.f64 (cos.f64 im)) (sqrt.f64 (cos.f64 im)) re)
(+.f64 (cos.f64 im) re)

eval170.0ms (4.6%)

Compiler

Compiled 9389 to 6103 computations (35% saved)

prune92.0ms (2.5%)

Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New5233526
Fresh000
Picked011
Done088
Total52312535
Error
0.0b
Counts
535 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
24.2b
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
24.3b
(+.f64 re (cos.f64 im))
40.6b
(+.f64 re 1)
24.4b
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
42.0b
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
24.2b
(*.f64 (+.f64 re 1) (cos.f64 im))
57.6b
(*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
60.9b
(*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im)))
16.7b
(exp.f64 re)
24.3b
(cos.f64 im)
61.9b
re
Compiler

Compiled 93 to 68 computations (26.9% saved)

localize10.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 19 computations (32.1% saved)

series18.0ms (0.5%)

Counts
2 → 48
Calls

12 calls:

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

Compiled 1158 to 935 computations (19.3% saved)

rewrite50.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
922×pow1_binary64
855×add-log-exp_binary64
855×log1p-expm1-u_binary64
855×expm1-log1p-u_binary64
839×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify48.0ms (1.3%)

Algorithm
egg-herbie
Rules
487×associate-+l+_binary64
465×associate-+r+_binary64
439×log-prod_binary64
361×unswap-sqr_binary64
223×*-commutative_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0113955
1319951
21134803
33631803
Stop Event
node limit
Counts
82 → 65
Calls
Call 1
Inputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 im)
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (*.f64 re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (*.f64 re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1)
(pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 2))
(log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 im) -1/2) (+.f64 1 re)) im))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 3))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))))
(exp.f64 (log.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))))
(+.f64 (*.f64 im -1/2) (*.f64 re (*.f64 im -1/2)))
(+.f64 (*.f64 im -1/2) (*.f64 (*.f64 im -1/2) re))
(+.f64 (*.f64 re (*.f64 im -1/2)) (*.f64 im -1/2))
(+.f64 (*.f64 (*.f64 im -1/2) re) (*.f64 im -1/2))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (+.f64 1 re) -1/2))) 1)
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (*.f64 im -1/2)) (-.f64 (+.f64 1 (*.f64 re re)) re))
(/.f64 (*.f64 (-.f64 1 (*.f64 re re)) (*.f64 im -1/2)) (-.f64 1 re))
(/.f64 (*.f64 (*.f64 im -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (+.f64 1 (*.f64 re re)) re))
(/.f64 (*.f64 (*.f64 im -1/2) (-.f64 1 (*.f64 re re))) (-.f64 1 re))
(pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 1)
(pow.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) -1/2) (+.f64 1 re)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 re) 3) (pow.f64 (*.f64 im -1/2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im -1/2) 3) (pow.f64 (+.f64 1 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (*.f64 im -1/2))))
Outputs
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 im (*.f64 -1/2 im))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 (*.f64 im im) (*.f64 -1/2 re))
(*.f64 re (*.f64 im (*.f64 -1/2 im)))
(*.f64 re (*.f64 -1/2 (*.f64 im im)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 -1/2 (*.f64 im im)) re)
(*.f64 (*.f64 im im) (*.f64 -1/2 re))
(*.f64 re (*.f64 im (*.f64 -1/2 im)))
(*.f64 re (*.f64 -1/2 (*.f64 im im)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(*.f64 -1/2 im)
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 re im))
(*.f64 -1/2 (*.f64 im re))
(*.f64 re (*.f64 -1/2 im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 re im))
(*.f64 -1/2 (*.f64 im re))
(*.f64 re (*.f64 -1/2 im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 -1/2 im) (*.f64 -1/2 (*.f64 re im)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(*.f64 -1/2 (*.f64 (+.f64 1 re) im))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1)
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 1)
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(pow.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 3) 1/3)
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 3)
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(pow.f64 (sqrt.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 2)
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(sqrt.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 2))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 im) -1/2) (+.f64 1 re)) im))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im)) 3))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3) (pow.f64 im 3)))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(exp.f64 (log.f64 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 re))
(*.f64 (+.f64 1 re) (*.f64 im (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (fma.f64 -1/2 re -1/2))
(+.f64 (*.f64 im -1/2) (*.f64 re (*.f64 im -1/2)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 im -1/2) (*.f64 (*.f64 im -1/2) re))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 re (*.f64 im -1/2)) (*.f64 im -1/2))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(+.f64 (*.f64 (*.f64 im -1/2) re) (*.f64 im -1/2))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (+.f64 1 re) -1/2))) 1)
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (*.f64 im -1/2)) (-.f64 (+.f64 1 (*.f64 re re)) re))
(/.f64 (*.f64 -1/2 im) (/.f64 (+.f64 1 (-.f64 (*.f64 re re) re)) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (*.f64 -1/2 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(*.f64 (/.f64 im (-.f64 (fma.f64 re re 1) re)) (fma.f64 -1/2 (pow.f64 re 3) -1/2))
(/.f64 (*.f64 (-.f64 1 (*.f64 re re)) (*.f64 im -1/2)) (-.f64 1 re))
(/.f64 (*.f64 -1/2 im) (/.f64 (-.f64 1 re) (-.f64 1 (*.f64 re re))))
(*.f64 (/.f64 (*.f64 -1/2 im) (-.f64 1 re)) (-.f64 1 (*.f64 re re)))
(*.f64 (-.f64 1 (*.f64 re re)) (/.f64 im (-.f64 -2 (/.f64 re -1/2))))
(*.f64 -1/2 (/.f64 im (/.f64 (-.f64 1 re) (neg.f64 (fma.f64 re re -1)))))
(/.f64 (*.f64 (*.f64 im -1/2) (+.f64 1 (pow.f64 re 3))) (-.f64 (+.f64 1 (*.f64 re re)) re))
(/.f64 (*.f64 -1/2 im) (/.f64 (+.f64 1 (-.f64 (*.f64 re re) re)) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (*.f64 -1/2 im) (-.f64 (fma.f64 re re 1) re)) (+.f64 1 (pow.f64 re 3)))
(*.f64 (/.f64 im (-.f64 (fma.f64 re re 1) re)) (fma.f64 -1/2 (pow.f64 re 3) -1/2))
(/.f64 (*.f64 (*.f64 im -1/2) (-.f64 1 (*.f64 re re))) (-.f64 1 re))
(/.f64 (*.f64 -1/2 im) (/.f64 (-.f64 1 re) (-.f64 1 (*.f64 re re))))
(*.f64 (/.f64 (*.f64 -1/2 im) (-.f64 1 re)) (-.f64 1 (*.f64 re re)))
(*.f64 (-.f64 1 (*.f64 re re)) (/.f64 im (-.f64 -2 (/.f64 re -1/2))))
(*.f64 -1/2 (/.f64 im (/.f64 (-.f64 1 re) (neg.f64 (fma.f64 re re -1)))))
(pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 1)
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(pow.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3) 1/3)
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))) 3)
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))) 2)
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 2))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) -1/2) (+.f64 1 re)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2)) 3))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 re) 3) (pow.f64 (*.f64 im -1/2) 3)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im -1/2) 3) (pow.f64 (+.f64 1 re) 3)))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (+.f64 1 re) -1/2))))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (*.f64 im -1/2))))
(*.f64 -1/2 (+.f64 im (*.f64 im re)))
(*.f64 -1/2 (*.f64 im (+.f64 1 re)))
(*.f64 -1/2 (fma.f64 im re im))

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 26 to 14 computations (46.2% saved)

series9.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

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

Compiled 664 to 552 computations (16.9% saved)

rewrite44.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
881×pow1_binary64
819×add-log-exp_binary64
818×log1p-expm1-u_binary64
818×expm1-log1p-u_binary64
803×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify56.0ms (1.5%)

Algorithm
egg-herbie
Rules
595×div-sub_binary64
484×fma-neg_binary64
306×associate-+l+_binary64
289×associate-+r+_binary64
250×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
086624
1260622
2924544
33177544
46690544
Stop Event
node limit
Counts
45 → 45
Calls
Call 1
Inputs
(*.f64 -1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(+.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 re (*.f64 -1/2 (*.f64 im im))))
(+.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 (*.f64 -1/2 (*.f64 im im)) re))
(+.f64 (*.f64 re (*.f64 -1/2 (*.f64 im im))) (*.f64 -1/2 (*.f64 im im)))
(+.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) re) (*.f64 -1/2 (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))) 1)
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (*.f64 -1/2 (*.f64 im im))) (+.f64 1 (-.f64 (*.f64 re re) re)))
(/.f64 (*.f64 (-.f64 1 (*.f64 re re)) (*.f64 -1/2 (*.f64 im im))) (-.f64 1 re))
(/.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 (pow.f64 re 3))) (+.f64 1 (-.f64 (*.f64 re re) re)))
(/.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (-.f64 1 (*.f64 re re))) (-.f64 1 re))
(pow.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) 1)
(pow.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))) 3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 1 re) -1/2)) im) 2)
(sqrt.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (+.f64 1 re) 2)))
(log.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (*.f64 -1/2 (*.f64 im im))))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 re) 3) (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3) (pow.f64 (+.f64 1 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (*.f64 -1/2 (*.f64 im im)))))
Outputs
(*.f64 -1/2 (pow.f64 im 2))
(*.f64 -1/2 (*.f64 im im))
(*.f64 im (*.f64 -1/2 im))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (*.f64 im im) re))
(*.f64 re (*.f64 -1/2 (*.f64 im im)))
(*.f64 -1/2 (*.f64 im (*.f64 im re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 -1/2 (*.f64 (*.f64 im im) re))
(*.f64 re (*.f64 -1/2 (*.f64 im im)))
(*.f64 -1/2 (*.f64 im (*.f64 im re)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (pow.f64 im 2)) (*.f64 -1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 im 2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(*.f64 -1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) (+.f64 1 re)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 re (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 -1/2 (*.f64 im im)) (*.f64 (*.f64 -1/2 (*.f64 im im)) re))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 re (*.f64 -1/2 (*.f64 im im))) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(+.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))) 1)
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 re 3)) (*.f64 -1/2 (*.f64 im im))) (+.f64 1 (-.f64 (*.f64 re re) re)))
(/.f64 (*.f64 -1/2 (*.f64 im im)) (/.f64 (+.f64 1 (-.f64 (*.f64 re re) re)) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 (-.f64 (*.f64 re re) re))) (+.f64 1 (pow.f64 re 3)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 -1/2 (/.f64 (-.f64 (fma.f64 re re 1) re) (*.f64 im im))))
(*.f64 (+.f64 1 (pow.f64 re 3)) (*.f64 (/.f64 -1/2 (-.f64 (fma.f64 re re 1) re)) (*.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (*.f64 re re)) (*.f64 -1/2 (*.f64 im im))) (-.f64 1 re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) (/.f64 (-.f64 1 re) (-.f64 1 (*.f64 re re))))
(*.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (-.f64 1 re)) (-.f64 1 (*.f64 re re)))
(*.f64 (*.f64 im (*.f64 -1/2 im)) (/.f64 (-.f64 1 (*.f64 re re)) (-.f64 1 re)))
(*.f64 (*.f64 (/.f64 (*.f64 -1/2 im) (-.f64 1 re)) (neg.f64 (fma.f64 re re -1))) im)
(/.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 (pow.f64 re 3))) (+.f64 1 (-.f64 (*.f64 re re) re)))
(/.f64 (*.f64 -1/2 (*.f64 im im)) (/.f64 (+.f64 1 (-.f64 (*.f64 re re) re)) (+.f64 1 (pow.f64 re 3))))
(*.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (+.f64 1 (-.f64 (*.f64 re re) re))) (+.f64 1 (pow.f64 re 3)))
(*.f64 (+.f64 1 (pow.f64 re 3)) (/.f64 -1/2 (/.f64 (-.f64 (fma.f64 re re 1) re) (*.f64 im im))))
(*.f64 (+.f64 1 (pow.f64 re 3)) (*.f64 (/.f64 -1/2 (-.f64 (fma.f64 re re 1) re)) (*.f64 im im)))
(/.f64 (*.f64 (*.f64 -1/2 (*.f64 im im)) (-.f64 1 (*.f64 re re))) (-.f64 1 re))
(/.f64 (*.f64 -1/2 (*.f64 im im)) (/.f64 (-.f64 1 re) (-.f64 1 (*.f64 re re))))
(*.f64 (/.f64 (*.f64 -1/2 (*.f64 im im)) (-.f64 1 re)) (-.f64 1 (*.f64 re re)))
(*.f64 (*.f64 im (*.f64 -1/2 im)) (/.f64 (-.f64 1 (*.f64 re re)) (-.f64 1 re)))
(*.f64 (*.f64 (/.f64 (*.f64 -1/2 im) (-.f64 1 re)) (neg.f64 (fma.f64 re re -1))) im)
(pow.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) 1)
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(pow.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) 3) 1/3)
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(pow.f64 (cbrt.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))) 3)
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (+.f64 1 re) -1/2)) im) 2)
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(sqrt.f64 (*.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (+.f64 1 re) 2)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(log.f64 (pow.f64 (exp.f64 (+.f64 1 re)) (*.f64 -1/2 (*.f64 im im))))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(cbrt.f64 (pow.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im))) 3))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 1 re) 3) (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 -1/2 (*.f64 im im)) 3) (pow.f64 (+.f64 1 re) 3)))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(expm1.f64 (log1p.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(log1p.f64 (expm1.f64 (*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (+.f64 re 1) (*.f64 -1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (fma.f64 -1/2 re -1/2)))
(exp.f64 (+.f64 (log1p.f64 re) (log.f64 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (*.f64 -1/2 (*.f64 im im)) (exp.f64 (log1p.f64 re)))
(*.f64 -1/2 (exp.f64 (fma.f64 2 (log.f64 im) (log1p.f64 re))))
(*.f64 -1/2 (*.f64 (*.f64 im im) (exp.f64 (log1p.f64 re))))

eval28.0ms (0.8%)

Compiler

Compiled 1272 to 821 computations (35.5% saved)

prune18.0ms (0.5%)

Pruning

14 alts after pruning (5 fresh and 9 done)

PrunedKeptTotal
New1064110
Fresh011
Picked101
Done1910
Total10814122
Error
0.0b
Counts
122 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
54.9b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1)
24.2b
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
24.3b
(+.f64 re (cos.f64 im))
40.6b
(+.f64 re 1)
24.4b
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
42.0b
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
24.2b
(*.f64 (+.f64 re 1) (cos.f64 im))
57.5b
(*.f64 (*.f64 im im) (*.f64 -1/2 re))
0.0b
(*.f64 (exp.f64 re) (cos.f64 im))
60.7b
(*.f64 im (*.f64 re (*.f64 -1/2 im)))
57.1b
(*.f64 im (*.f64 -1/2 im))
16.7b
(exp.f64 re)
24.3b
(cos.f64 im)
61.9b
re
Compiler

Compiled 111 to 81 computations (27% saved)

regimes38.0ms (1%)

Counts
16 → 1
Calls
Call 1
Inputs
re
(+.f64 re 1)
(*.f64 im (*.f64 -1/2 im))
(*.f64 im (*.f64 re (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (*.f64 -1/2 re))
(*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im)))
(*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1)
(cos.f64 im)
(exp.f64 re)
(+.f64 re (cos.f64 im))
(*.f64 (+.f64 re 1) (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
(*.f64 (exp.f64 re) (cos.f64 im))
(+.f64 (*.f64 (cos.f64 im) re) (cos.f64 im))
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
Calls

5 calls:

10.0ms
im
8.0ms
re
7.0ms
(cos.f64 im)
5.0ms
(*.f64 (exp.f64 re) (cos.f64 im))
2.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (exp.f64 re) (cos.f64 im))
0.0b1(exp.f64 re)
0.0b1(cos.f64 im)
Compiler

Compiled 124 to 74 computations (40.3% saved)

regimes156.0ms (4.2%)

Counts
14 → 2
Calls
Call 1
Inputs
re
(+.f64 re 1)
(*.f64 im (*.f64 -1/2 im))
(*.f64 im (*.f64 re (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (*.f64 -1/2 re))
(*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im)))
(*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1)
(cos.f64 im)
(exp.f64 re)
(+.f64 re (cos.f64 im))
(*.f64 (+.f64 re 1) (cos.f64 im))
(+.f64 1 (-.f64 (*.f64 (+.f64 re 1) (cos.f64 im)) 1))
Outputs
(exp.f64 re)
(*.f64 (+.f64 re 1) (cos.f64 im))
Calls

5 calls:

79.0ms
(cos.f64 im)
35.0ms
im
32.0ms
re
4.0ms
(exp.f64 re)
4.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.4b2re
10.3b5im
0.4b2(exp.f64 re)
0.4b2(exp.f64 re)
8.5b7(cos.f64 im)
Compiler

Compiled 109 to 69 computations (36.7% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9892898111576205
0.9999999999999998
Compiler

Compiled 12 to 9 computations (25% saved)

regimes91.0ms (2.4%)

Counts
12 → 2
Calls
Call 1
Inputs
re
(+.f64 re 1)
(*.f64 im (*.f64 -1/2 im))
(*.f64 im (*.f64 re (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (*.f64 -1/2 re))
(*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im)))
(*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1)
(cos.f64 im)
(exp.f64 re)
(+.f64 re (cos.f64 im))
Outputs
(exp.f64 re)
(+.f64 re (cos.f64 im))
Calls

5 calls:

36.0ms
(cos.f64 im)
32.0ms
im
14.0ms
re
3.0ms
(exp.f64 re)
3.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.5b2re
10.4b5im
0.5b2(exp.f64 re)
0.5b2(exp.f64 re)
8.5b7(cos.f64 im)
Compiler

Compiled 93 to 59 computations (36.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9892898111576205
0.9999999999999998
Compiler

Compiled 12 to 9 computations (25% saved)

regimes82.0ms (2.2%)

Counts
11 → 2
Calls
Call 1
Inputs
re
(+.f64 re 1)
(*.f64 im (*.f64 -1/2 im))
(*.f64 im (*.f64 re (*.f64 -1/2 im)))
(*.f64 (*.f64 im im) (*.f64 -1/2 re))
(*.f64 im (*.f64 (+.f64 1 re) (*.f64 -1/2 im)))
(*.f64 (+.f64 1 re) (*.f64 -1/2 (*.f64 im im)))
(*.f64 (+.f64 (*.f64 -1/2 (*.f64 im im)) 1) (+.f64 re 1))
(-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1)
(cos.f64 im)
(exp.f64 re)
Outputs
(exp.f64 re)
(cos.f64 im)
Calls

4 calls:

34.0ms
(cos.f64 im)
29.0ms
im
13.0ms
re
3.0ms
(exp.f64 re)
Results
ErrorSegmentsBranch
0.6b2re
10.4b5im
0.6b2(exp.f64 re)
8.5b7(cos.f64 im)
Compiler

Compiled 85 to 55 computations (35.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9892898111576205
0.9999999999999998
Compiler

Compiled 12 to 9 computations (25% saved)

regimes26.0ms (0.7%)

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

3 calls:

11.0ms
re
6.0ms
(cos.f64 im)
6.0ms
im
Results
ErrorSegmentsBranch
16.9b2re
24.3b1im
24.3b1(cos.f64 im)
Compiler

Compiled 79 to 51 computations (35.4% saved)

bsearch10.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
9.0ms
-1323265545409.7666
-348019293449.65204
Results
8.0ms80×body256valid
Compiler

Compiled 117 to 94 computations (19.7% saved)

regimes34.0ms (0.9%)

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

2 calls:

21.0ms
im
10.0ms
re
Results
ErrorSegmentsBranch
33.0b2re
39.6b3im
Compiler

Compiled 73 to 47 computations (35.6% saved)

bsearch11.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
-1323265545409.7666
-348019293449.65204
Results
9.0ms80×body256valid
Compiler

Compiled 122 to 99 computations (18.9% saved)

regimes38.0ms (1%)

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

2 calls:

31.0ms
re
5.0ms
im
Results
ErrorSegmentsBranch
35.2b2re
40.6b1im
Compiler

Compiled 60 to 37 computations (38.3% saved)

bsearch19.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
19.0ms
-1.9859786643629408e+24
-10679896815254.248
Results
17.0ms160×body256valid
Compiler

Compiled 152 to 119 computations (21.7% saved)

regimes8.0ms (0.2%)

Accuracy

Total -21.5b remaining (-52.9%)

Threshold costs -21.5b (-52.9%)

Counts
2 → 1
Calls
Call 1
Inputs
re
(+.f64 re 1)
Outputs
(+.f64 re 1)
Calls

2 calls:

4.0ms
re
3.0ms
im
Results
ErrorSegmentsBranch
40.6b1re
40.6b1im
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify7.0ms (0.2%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032138
146138
247138
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 4458563631096791/4503599627370496) (exp.f64 re) (*.f64 (+.f64 re 1) (cos.f64 im)))
(if (<=.f64 (exp.f64 re) 4458563631096791/4503599627370496) (exp.f64 re) (+.f64 re (cos.f64 im)))
(if (<=.f64 (exp.f64 re) 4458563631096791/4503599627370496) (exp.f64 re) (cos.f64 im))
(if (<=.f64 re -350000000000) (-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1) (cos.f64 im))
(if (<=.f64 re -350000000000) (-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1) (+.f64 re 1))
(if (<=.f64 re -11000000000000) (*.f64 im (*.f64 -1/2 im)) (+.f64 re 1))
(+.f64 re 1)
re
Outputs
(*.f64 (exp.f64 re) (cos.f64 im))
(if (<=.f64 (exp.f64 re) 4458563631096791/4503599627370496) (exp.f64 re) (*.f64 (+.f64 re 1) (cos.f64 im)))
(if (<=.f64 (exp.f64 re) 4458563631096791/4503599627370496) (exp.f64 re) (*.f64 (cos.f64 im) (+.f64 re 1)))
(if (<=.f64 (exp.f64 re) 4458563631096791/4503599627370496) (exp.f64 re) (+.f64 re (cos.f64 im)))
(if (<=.f64 (exp.f64 re) 4458563631096791/4503599627370496) (exp.f64 re) (cos.f64 im))
(if (<=.f64 re -350000000000) (-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1) (cos.f64 im))
(if (<=.f64 re -350000000000) (+.f64 (+.f64 1 (*.f64 (+.f64 re 1) (*.f64 im (*.f64 im -1/2)))) -1) (cos.f64 im))
(if (<=.f64 re -350000000000) (-.f64 (+.f64 1 (*.f64 (+.f64 1 re) (*.f64 (*.f64 im -1/2) im))) 1) (+.f64 re 1))
(if (<=.f64 re -350000000000) (+.f64 (+.f64 1 (*.f64 (+.f64 re 1) (*.f64 im (*.f64 im -1/2)))) -1) (+.f64 re 1))
(if (<=.f64 re -11000000000000) (*.f64 im (*.f64 -1/2 im)) (+.f64 re 1))
(if (<=.f64 re -11000000000000) (*.f64 im (*.f64 im -1/2)) (+.f64 re 1))
(+.f64 re 1)
re
Compiler

Compiled 111 to 79 computations (28.8% saved)

soundness0.0ms (0%)

end103.0ms (2.8%)

Compiler

Compiled 95 to 56 computations (41.1% saved)

Profiling

Loading profile data...