Details

Time bar (total: 8.8s)

analyze184.0ms (2.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
55.2%50%40.6%0.1%9.4%0%0%7
56.1%50%39%0.1%10.9%0%0%8
59.8%50%33.6%0.1%16.4%0%0%9
60.7%50%32.4%0.1%17.6%0%0%10
62.9%50%29.5%0.1%20.5%0%0%11
63.4%50%28.8%0.1%21.2%0%0%12
Compiler

Compiled 15 to 12 computations (20% saved)

sample4.4s (49.9%)

Results
1.6s2055×body1024valid
879.0ms5142×body256valid
867.0ms1984×body1024infinite
357.0ms986×body512infinite
335.0ms1051×body512valid
319.0ms1666×body256infinite
9.0msbody2048valid
Bogosity

preprocess77.0ms (0.9%)

Algorithm
egg-herbie
Rules
692×times-frac_binary64
614×fma-def_binary64
432×unswap-sqr_binary64
342×associate-/r/_binary64
305×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01936
15036
213536
327334
436134
548934
683834
7219634
8483534
9545234
10690934
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify64.0ms (0.7%)

Algorithm
egg-herbie
Rules
784×unswap-sqr_binary64
582×fma-def_binary64
476×fabs-mul_binary64
425×associate-/r*_binary64
357×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01218
12818
27118
314017
418517
525217
642917
7111617
8328817
9367117
10416217
11579617
12678817
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 36 to 22 computations (38.9% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New123
Fresh101
Picked000
Done000
Total224
Error
0.0b
Counts
4 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Compiler

Compiled 26 to 19 computations (26.9% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 re)
0.0b
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
0.0b
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
0.0b
(/.f64 1/2 (exp.f64 im))
Compiler

Compiled 32 to 16 computations (50% saved)

series10.0ms (0.1%)

Counts
4 → 44
Calls

15 calls:

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

rewrite55.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
873×pow1_binary64
804×add-log-exp_binary64
804×log1p-expm1-u_binary64
804×expm1-log1p-u_binary64
787×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify57.0ms (0.6%)

Algorithm
egg-herbie
Rules
354×associate-*r*_binary64
313×associate-+l+_binary64
295×associate-+r+_binary64
293×associate-*l*_binary64
266×distribute-rgt-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02231667
15811541
230391424
Stop Event
node limit
Counts
117 → 141
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(-.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) 1)
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 -1/2 (/.f64 1 (neg.f64 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(sqrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(exp.f64 (-.f64 (log.f64 1/2) im))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) 1) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(*.f64 (sin.f64 re) 1)
(*.f64 1 (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(pow.f64 (sin.f64 re) 1)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(sqrt.f64 (pow.f64 (sin.f64 re) 2))
(log.f64 (exp.f64 (sin.f64 re)))
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(expm1.f64 (log1p.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 -1/2 im (*.f64 im (*.f64 im 1/4))))
(+.f64 1/2 (*.f64 im (+.f64 -1/2 (*.f64 1/4 im))))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (fma.f64 -1/2 im (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 (*.f64 im im) (+.f64 1/4 (*.f64 -1/12 im))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re)))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re)) (*.f64 -1/5040 (pow.f64 re 7))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (sin.f64 re) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re)) (*.f64 -1/5040 (pow.f64 re 7)))
(-.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) 1)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 -1/2 (/.f64 1 (neg.f64 (exp.f64 im))))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(sqrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(sqrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(exp.f64 (-.f64 (log.f64 1/2) im))
(+.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) -1)
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3) 1/3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 2)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) (pow.f64 (sin.f64 re) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) 1) (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (exp.f64 im)) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (+.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/2 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (-.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (*.f64 (exp.f64 im) 1/4) (exp.f64 im))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (pow.f64 (/.f64 1/2 (exp.f64 im)) 3)) (+.f64 -1/4 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (pow.f64 (/.f64 1/2 (exp.f64 im)) 2))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (fma.f64 1/2 (exp.f64 im) (neg.f64 (/.f64 1/2 (exp.f64 im)))))
(/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (/.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(sin.f64 re)
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(*.f64 1 (sin.f64 re))
(sin.f64 re)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(sin.f64 re)
(pow.f64 (sin.f64 re) 1)
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(sin.f64 re)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(sin.f64 re)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(sin.f64 re)
(sqrt.f64 (pow.f64 (sin.f64 re) 2))
(sin.f64 re)
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)

localize13.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 re)
0.0b
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series39.0ms (0.4%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
33.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite49.0ms (0.6%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
121×add-sqr-sqrt_binary64
121×add-sqr-sqrt_binary64
116×*-un-lft-identity_binary64
116×pow1_binary64
116×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01128
123328
2378028
01118
123318
2378018
01118
0610
112610
2208210
0610
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 19
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))

simplify80.0ms (0.9%)

Algorithm
egg-herbie
Rules
591×fma-def_binary64
566×times-frac_binary64
432×associate-/l*_binary64
340×*-commutative_binary64
320×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0121972
1369916
21474848
35189843
Stop Event
node limit
Counts
55 → 77
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (fma.f64 1/2 re (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (fma.f64 1/240 (pow.f64 re 5) (*.f64 1/2 re))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 1/2 re (*.f64 1/240 (pow.f64 re 5))) (fma.f64 -1/10080 (pow.f64 re 7) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 1/240 (pow.f64 re 5) (*.f64 1/2 re)) (fma.f64 -1/10080 (pow.f64 re 7) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 6) 1/720))))
(+.f64 (sin.f64 re) (fma.f64 (sin.f64 re) (*.f64 1/720 (pow.f64 im 6)) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (+.f64 2 (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))))
(+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sqrt.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (*.f64 (exp.f64 im) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (*.f64 im -2)) (+.f64 -1 (exp.f64 (+.f64 im im)))))
(/.f64 (+.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 (exp.f64 (*.f64 im -2)) (expm1.f64 (+.f64 im im))))
(/.f64 (+.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 -2) im) (expm1.f64 (+.f64 im im))))
(/.f64 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(cbrt.f64 (*.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))

eval136.0ms (1.5%)

Compiler

Compiled 4345 to 2314 computations (46.7% saved)

prune42.0ms (0.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2367243
Fresh000
Picked011
Done101
Total2378245
Error
0.0b
Counts
245 → 8
Alt Table
Click to see full alt table
StatusErrorProgram
0.7b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
31.2b
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
0.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
31.1b
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
31.1b
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
1.3b
(sin.f64 re)
Compiler

Compiled 185 to 132 computations (28.6% saved)

localize21.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 re)
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.1b
(*.f64 (pow.f64 im 4) 1/12)
Compiler

Compiled 57 to 35 computations (38.6% saved)

series6.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
1.0ms
im
@0
(*.f64 (pow.f64 im 4) 1/12)
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))

rewrite97.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
725×log-prod_binary64
511×fma-def_binary64
275×expm1-udef_binary64
275×log1p-udef_binary64
255×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01531
133427
2434427
Stop Event
node limit
Counts
2 → 91
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 4) 1/12)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 4) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (neg.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 1/2 (sin.f64 re))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (*.f64 1/2 (sin.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 1/2 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) 1/12) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sin.f64 re)) 1/2 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 1/2 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) 1/2) (sin.f64 re) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 4)) 1/12 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 1/12) (pow.f64 im 4) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8)))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1/2) (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))))

simplify98.0ms (1.1%)

Algorithm
egg-herbie
Rules
856×fma-neg_binary64
455×unswap-sqr_binary64
310×associate-*l*_binary64
286×associate-*r*_binary64
211×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02732857
17552599
229332444
376602444
Stop Event
node limit
Counts
127 → 142
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))
(+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 0 (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)
(pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) 1/3)
(sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 1))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (neg.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))))
(/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 1/2 (sin.f64 re))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (*.f64 1/2 (sin.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))
(fma.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 1/2 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) 1/12) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 1 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sin.f64 re)) 1/2 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 1/2 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) (sin.f64 re) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 4)) 1/12 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 1/12) (pow.f64 im 4) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8)))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1/2) (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
Outputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))
(*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re)
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 re 1/2))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re))
(fma.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) re (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))))
(fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re)))
(fma.f64 1/240 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 5)) (fma.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) re (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12))))
(fma.f64 1/240 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 5)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))))
(fma.f64 -1/10080 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re))))
(fma.f64 -1/10080 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 5)) (fma.f64 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) re (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)))))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (sin.f64 re)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (sin.f64 re)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 (pow.f64 im 4) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) 1/3)
(*.f64 1/12 (pow.f64 im 4))
(sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3))
(*.f64 1/12 (pow.f64 im 4))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (neg.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (+.f64 (*.f64 (pow.f64 im 8) (*.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 1/24 (sin.f64 re)))) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (neg.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3)) (fma.f64 (sin.f64 re) (*.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) 1/4) (sin.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (*.f64 1/2 (fma.f64 im im 2)) (neg.f64 (sin.f64 re)))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/13824 (pow.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)) 3))) (fma.f64 (sin.f64 re) (*.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) 1/4) (sin.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (fma.f64 im im 2)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) (*.f64 (pow.f64 im 8) (*.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 1/24 (sin.f64 re))))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) 1/4) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (pow.f64 im 8) (*.f64 1/576 (*.f64 (sin.f64 re) (sin.f64 re))))) (fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)) -1/24)))
(/.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (/.f64 2 (sin.f64 re)))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 1/2 (sin.f64 re))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8))) (*.f64 1/2 (sin.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)))
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3))) (fma.f64 (*.f64 (pow.f64 im 4) 1/12) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)) (/.f64 (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) 1/12 (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 (fma.f64 im im 2) 3)) (fma.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (neg.f64 (fma.f64 im im 2))) (pow.f64 (fma.f64 im im 2) 2))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 -1/144 (pow.f64 im 8)))) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)))
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (exp.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 1/2 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) 1/12) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (sin.f64 re) (*.f64 1/2 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))) (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sin.f64 re)) 1/2 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 1/2 (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) (sin.f64 re) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 im 4)) 1/12 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 1/12) (pow.f64 im 4) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8)))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 (sin.f64 re) (*.f64 1/2 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1/2) (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))

localize14.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 re)
Compiler

Compiled 5 to 3 computations (40% saved)

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 17 computations (48.5% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite49.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
120513
2245913
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (sin.f64 re)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (*.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) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (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) (sin.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (sin.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))))))

simplify56.0ms (0.6%)

Algorithm
egg-herbie
Rules
665×log-prod_binary64
536×associate-*l*_binary64
489×associate-*r*_binary64
481×fma-neg_binary64
433×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
094735
1269725
2820690
34331673
46584673
Stop Event
node limit
Counts
45 → 51
Calls
Call 1
Inputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 7))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (sin.f64 re)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.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) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
Outputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 (sin.f64 re) (/.f64 (*.f64 im im) 2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))
(*.f64 (sin.f64 re) (/.f64 (*.f64 im im) 2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 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))
(fma.f64 re (/.f64 (*.f64 im im) 2) re)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 3)) (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 5)) (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 3)) (fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (pow.f64 re 5) 1/120))))
(fma.f64 (pow.f64 re 3) (+.f64 -1/6 (*.f64 (*.f64 im im) -1/12)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 7))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 5)) (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))))
(fma.f64 -1/6 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (pow.f64 re 7)) (fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (pow.f64 re 5) 1/120)))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (+.f64 re (*.f64 -1/5040 (pow.f64 re 7))) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (sin.f64 re)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (sin.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 1/8 (pow.f64 im 6) 1)) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(*.f64 (sin.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (sin.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (sin.f64 re) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 1/8 (pow.f64 im 6) 1)) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(*.f64 (sin.f64 re) (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (sin.f64 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) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3) 1/3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 2))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (sin.f64 re) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))

localize11.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 12 computations (61.3% saved)

series6.0ms (0.1%)

Counts
2 → 32
Calls

9 calls:

TimeVariablePointExpression
3.0ms
im
@inf
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
1.0ms
re
@0
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
1.0ms
im
@-inf
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
1.0ms
re
@inf
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
1.0ms
im
@0
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))

rewrite82.0ms (0.9%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
109×add-sqr-sqrt_binary64
109×add-sqr-sqrt_binary64
103×*-un-lft-identity_binary64
103×add-log-exp_binary64
103×pow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
121118
2332818
01012
121112
2332812
01012
066
11296
221506
066
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 18
Calls
Call 1
Inputs
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 2 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (cosh.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 2 (cosh.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))))))

simplify62.0ms (0.7%)

Algorithm
egg-herbie
Rules
638×fma-def_binary64
512×distribute-rgt-in_binary64
469×fma-neg_binary64
468×distribute-lft-in_binary64
351×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
092726
1244706
2919673
32645371
47772371
Stop Event
node limit
Counts
50 → 59
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(pow.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 2 (cosh.f64 im))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
Outputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(fma.f64 re (*.f64 1/2 (*.f64 im im)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 (pow.f64 im 4) (*.f64 re 1/24) re))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) re)
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) re)))
(fma.f64 re (*.f64 1/720 (pow.f64 im 6)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 (pow.f64 im 4) (*.f64 re 1/24) re)))
(fma.f64 re (*.f64 1/24 (pow.f64 im 4)) (fma.f64 re (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/2 (*.f64 im im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (+.f64 2 (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 2 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 im 6) 1/360 (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(pow.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) 1)
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(log.f64 (exp.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (exp.f64 (*.f64 im -3))) (+.f64 (pow.f64 (exp.f64 2) im) (expm1.f64 (*.f64 im -2))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) -3)) (+.f64 (pow.f64 (exp.f64 im) 2) (expm1.f64 (*.f64 im -2))))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

Compiled 35 to 11 computations (68.6% saved)

series25.0ms (0.3%)

Counts
3 → 72
Calls

18 calls:

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

rewrite57.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
968×prod-diff_binary64
487×log-prod_binary64
317×pow-prod-down_binary64
282×fma-def_binary64
251×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify101.0ms (1.1%)

Algorithm
egg-herbie
Rules
394×distribute-rgt-in_binary64
392×*-commutative_binary64
379×distribute-lft-in_binary64
313×times-frac_binary64
261×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02733037
17102821
222312745
Stop Event
node limit
Counts
172 → 174
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(+.f64 0 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)
(pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 1)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1))
(+.f64 0 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))) 1)
(pow.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) 1)
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4) 1/2)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) 3)
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) 2)
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8) 1/3)
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)))) 1)
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))))
(*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) 1/2)))
(*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 1)
(*.f64 1 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 2) (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (/.f64 1 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))))
(*.f64 (fma.f64 (*.f64 im im) 1/2 1) (sin.f64 re))
(/.f64 1 (/.f64 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3))))
(/.f64 1 (/.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2))) (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))) (neg.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (neg.f64 (pow.f64 (sin.f64 re) 2))) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3))) -1)
(pow.f64 (/.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2))) (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))) -1)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 (*.f64 im im) 1/2 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(log.f64 (*.f64 (exp.f64 (sin.f64 re)) (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 1))
(fma.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2) (sin.f64 re))
(fma.f64 (*.f64 im im) (*.f64 (sin.f64 re) 1/2) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2) (sin.f64 re))
(fma.f64 (*.f64 im (*.f64 im (sin.f64 re))) 1/2 (sin.f64 re))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) 1 (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 1 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (cbrt.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1/2) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 1/2) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im im) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 (*.f64 1/2 im) (*.f64 im (sin.f64 re)) (sin.f64 re))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im) (sin.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))) (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (sin.f64 re)))) (*.f64 im (sqrt.f64 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) 1/2) 1) (sin.f64 re) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) 1/2) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (cbrt.f64 (sin.f64 re)) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) 1/2) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (sin.f64 re))
Outputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im))))
(fma.f64 -1/6 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 re (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (*.f64 im im) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (+.f64 (+.f64 re (*.f64 1/120 (pow.f64 re 5))) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 (*.f64 im im) (*.f64 re 1/2))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 re 1/2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(fma.f64 (*.f64 im (*.f64 im (pow.f64 re 3))) -1/12 (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (*.f64 im im) (pow.f64 re 7)) (*.f64 (*.f64 1/2 re) (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 7) -1/10080))) (*.f64 (*.f64 im im) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (*.f64 im im) (+.f64 (+.f64 (*.f64 (pow.f64 re 7) -1/10080) (*.f64 (pow.f64 re 5) 1/240)) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 re 1/2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 (*.f64 im im) 1/2 1))
(*.f64 re (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(fma.f64 (fma.f64 (*.f64 im im) 1/2 1) re (*.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6)))
(fma.f64 (pow.f64 re 3) (fma.f64 (*.f64 im im) -1/12 -1/6) (*.f64 re (fma.f64 im (*.f64 im 1/2) 1)))
(fma.f64 re (fma.f64 im (*.f64 im 1/2) 1) (*.f64 (pow.f64 re 3) (fma.f64 im (*.f64 im -1/12) -1/6)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(fma.f64 (fma.f64 (*.f64 im im) 1/2 1) re (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (*.f64 im im) 1/240)))))
(fma.f64 re (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 (pow.f64 re 5) (fma.f64 (*.f64 im im) 1/240 1/120) (*.f64 (pow.f64 re 3) (fma.f64 (*.f64 im im) -1/12 -1/6))))
(fma.f64 re (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 (pow.f64 re 5) (fma.f64 (*.f64 im im) 1/240 1/120) (*.f64 (pow.f64 re 3) (fma.f64 im (*.f64 im -1/12) -1/6))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(fma.f64 (fma.f64 (*.f64 im im) 1/2 1) re (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (fma.f64 (fma.f64 -1/10080 (*.f64 im im) -1/5040) (pow.f64 re 7) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (*.f64 im im) 1/240))))))
(fma.f64 re (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 (pow.f64 re 3) (fma.f64 (*.f64 im im) -1/12 -1/6) (fma.f64 (pow.f64 re 5) (fma.f64 (*.f64 im im) 1/240 1/120) (*.f64 (pow.f64 re 7) (fma.f64 (*.f64 im im) -1/10080 -1/5040)))))
(fma.f64 re (fma.f64 im (*.f64 im 1/2) 1) (fma.f64 (pow.f64 re 3) (fma.f64 im (*.f64 im -1/12) -1/6) (fma.f64 (pow.f64 re 5) (fma.f64 (*.f64 im im) 1/240 1/120) (*.f64 (pow.f64 re 7) (fma.f64 im (*.f64 im -1/10080) -1/5040)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(+.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(+.f64 0 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 1)
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (sin.f64 re) (*.f64 im im))
(+.f64 0 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))) 2)) (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))))))
(*.f64 3 (log.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))))))
(+.f64 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))))
(*.f64 2 (log.f64 (sqrt.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))) 1)
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) 1)
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4) 1/2)
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) 3)
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) 2)
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))
(log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))))
(*.f64 (/.f64 (sin.f64 re) (/.f64 2 im)) im)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) 1))
(*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)))) 1)
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (sin.f64 re) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4) (sin.f64 re))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) 1/2)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 1)
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 1 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 2))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 2) (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))) (fma.f64 im (*.f64 (sin.f64 re) (*.f64 im 1/2)) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))))
(*.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (/.f64 1 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (sin.f64 re) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4) (sin.f64 re))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(*.f64 (fma.f64 (*.f64 im im) 1/2 1) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(/.f64 1 (/.f64 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3))))
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))) (fma.f64 im (*.f64 (sin.f64 re) (*.f64 im 1/2)) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))))
(/.f64 1 (/.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2))) (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (sin.f64 re) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4) (sin.f64 re))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))) (fma.f64 im (*.f64 (sin.f64 re) (*.f64 im 1/2)) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))))
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))) (fma.f64 im (*.f64 (sin.f64 re) (*.f64 im 1/2)) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (sin.f64 re) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4) (sin.f64 re))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))) (fma.f64 im (*.f64 (sin.f64 re) (*.f64 im 1/2)) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))) (neg.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (sin.f64 re) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4) (sin.f64 re))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (neg.f64 (pow.f64 (sin.f64 re) 2))) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (sin.f64 re) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4) (sin.f64 re))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 1)
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 2) 1/2)
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 3) 1/3)
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 3)
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 2)
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(pow.f64 (/.f64 (fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (-.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3))) -1)
(*.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))) (fma.f64 im (*.f64 (sin.f64 re) (*.f64 im 1/2)) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4 (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))))
(pow.f64 (/.f64 (*.f64 (sin.f64 re) (-.f64 1 (*.f64 (*.f64 im im) 1/2))) (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))) -1)
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 im (*.f64 im 1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(/.f64 (+.f64 (sin.f64 re) (/.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) -1/4) (sin.f64 re))) (+.f64 1 (*.f64 im (*.f64 im -1/2))))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 2))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 (*.f64 im im) 1/2 1)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(log.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))) (log1p.f64 (expm1.f64 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (/.f64 (sin.f64 re) (/.f64 2 im)) im))
(log.f64 (*.f64 (exp.f64 (sin.f64 re)) (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))) (exp.f64 (sin.f64 re))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(log.f64 (*.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))) (log1p.f64 (expm1.f64 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (/.f64 (sin.f64 re) (/.f64 2 im)) im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1)) 3))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (fma.f64 (*.f64 im im) 1/2 1))) 1))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 im im) (*.f64 (sin.f64 re) 1/2) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (sin.f64 re) 1 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 im (*.f64 im (sin.f64 re))) 1/2 (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) 1 (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 1 (sin.f64 re) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 1 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (cbrt.f64 (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))) (cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1/2) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (*.f64 1/2 (cbrt.f64 (*.f64 im (*.f64 (sin.f64 re) im)))) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (*.f64 1/2 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2)))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 1/2) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 (*.f64 im im) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 1/2 im) (*.f64 im (sin.f64 re)) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))) (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (*.f64 1/2 (cbrt.f64 (*.f64 im (*.f64 (sin.f64 re) im)))) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (*.f64 1/2 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (sin.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 (sin.f64 re)))) (*.f64 im (sqrt.f64 (sin.f64 re))) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) 1/2) 1) (sin.f64 re) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) 1/2) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (cbrt.f64 (sin.f64 re)) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))
(fma.f64 (*.f64 (*.f64 (*.f64 im im) 1/2) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 im (*.f64 im 1/2) 1))

eval301.0ms (3.4%)

Compiler

Compiled 10640 to 6324 computations (40.6% saved)

prune165.0ms (1.9%)

Pruning

13 alts after pruning (8 fresh and 5 done)

PrunedKeptTotal
New5447551
Fresh112
Picked011
Done145
Total54613559
Error
0b
Counts
559 → 13
Alt Table
Click to see full alt table
StatusErrorProgram
1.4b
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
29.5b
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
29.8b
(-.f64 (+.f64 1 (sin.f64 re)) 1)
0.7b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
31.6b
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
31.6b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
0.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
31.1b
(*.f64 re (cosh.f64 im))
31.1b
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
1.3b
(sin.f64 re)
32.0b
re
Compiler

Compiled 245 to 176 computations (28.2% saved)

localize43.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))
0.4b
(*.f64 1/12 (*.f64 1/2 (sin.f64 re)))
0.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
0.4b
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
Compiler

Compiled 78 to 50 computations (35.9% saved)

series17.0ms (0.2%)

Counts
4 → 84
Calls

21 calls:

TimeVariablePointExpression
5.0ms
im
@0
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
2.0ms
re
@inf
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
1.0ms
re
@0
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
1.0ms
re
@-inf
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
1.0ms
im
@inf
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))

rewrite76.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
740×log-prod_binary64
390×pow2_binary64
369×prod-diff_binary64
273×pow1/3_binary64
271×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01669
133060
2370158
Stop Event
node limit
Counts
4 → 89
Calls
Call 1
Inputs
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 1/12 (*.f64 1/2 (sin.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re))))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 1) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 2) (-.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 2) (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3/2)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3/2) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/4 (pow.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3/2) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (sin.f64 re) 1/24))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) 1/24) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/576 (pow.f64 (sin.f64 re) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) 1/24)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) 1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)) 1))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 (sin.f64 re) 1/24))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 1))))))

simplify81.0ms (0.9%)

Algorithm
egg-herbie
Rules
351×fma-def_binary64
297×associate-/l*_binary64
280×log-prod_binary64
277×cancel-sign-sub-inv_binary64
267×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03743590
110313406
239213105
Stop Event
node limit
Counts
173 → 240
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re)
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/12 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/144 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re))
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/12 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/144 (pow.f64 im 4)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2880 (pow.f64 im 4)) (*.f64 1/240 (+.f64 2 (pow.f64 im 2)))) (pow.f64 re 5)) (*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re)))
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/12 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/144 (pow.f64 im 4)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2880 (pow.f64 im 4)) (*.f64 1/240 (+.f64 2 (pow.f64 im 2)))) (pow.f64 re 5)) (+.f64 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 -1/10080 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/120960 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re))) (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))) (+.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))))) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re))) (+.f64 (*.f64 (+.f64 (*.f64 -1/16 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 4))) (*.f64 1/16 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 4)))) (pow.f64 im 6)) (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))) (+.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))))) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (sin.f64 re) (pow.f64 im 2)))))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (sin.f64 re) (pow.f64 im 2)))))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re)) (*.f64 -1/12 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re)) (+.f64 (*.f64 1/240 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 3)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re)) (+.f64 (*.f64 1/240 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 3))) (*.f64 -1/10080 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 7))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sqrt.f64 2))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sqrt.f64 2)))))
(+.f64 (*.f64 1/32 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sqrt.f64 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 1/2 (/.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 5))))))
(*.f64 -1/2 (*.f64 (sin.f64 re) im))
(+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) im)) (*.f64 -1/2 (*.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/2 (*.f64 (sin.f64 re) im))))
(+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) im)) (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/2 (*.f64 (sin.f64 re) im)))))
(*.f64 1/24 re)
(+.f64 (*.f64 1/24 re) (*.f64 -1/144 (pow.f64 re 3)))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5))))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/120960 (pow.f64 re 7)) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5)))))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(+.f64 0 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 1) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))) 1)
(*.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 1)
(*.f64 1 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 2) (-.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 2) (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 1)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 1))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 2)
(pow.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3/2)) 1/3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3/2) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) 1/3)
(sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/4 (pow.f64 (sin.f64 re) 2))))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3/2) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 1))
(+.f64 0 (*.f64 (sin.f64 re) 1/24))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24))) 1)
(pow.f64 (*.f64 (sin.f64 re) 1/24) 1)
(pow.f64 (*.f64 1/576 (pow.f64 (sin.f64 re) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) 1/24)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) 2)
(sqrt.f64 (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))
(log.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) 1/24))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/24)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)) 1))
(+.f64 0 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) 1)
(pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 1)
(pow.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))) 1/2)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 (sin.f64 re) 1/24))) 2)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 1))
Outputs
(*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re)
(*.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) re)
(*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))) re)
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/12 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/144 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re))
(fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/144)) (*.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) re))
(fma.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) re (*.f64 (pow.f64 re 3) (fma.f64 (fma.f64 im im 2) -1/12 (*.f64 (pow.f64 im 4) -1/144))))
(fma.f64 (pow.f64 re 3) (fma.f64 (fma.f64 im im 2) -1/12 (*.f64 (pow.f64 im 4) -1/144)) (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))) re))
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/12 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/144 (pow.f64 im 4)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2880 (pow.f64 im 4)) (*.f64 1/240 (+.f64 2 (pow.f64 im 2)))) (pow.f64 re 5)) (*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re)))
(fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/144)) (fma.f64 (fma.f64 1/2880 (pow.f64 im 4) (*.f64 (fma.f64 im im 2) 1/240)) (pow.f64 re 5) (*.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) re)))
(fma.f64 (pow.f64 re 3) (fma.f64 (fma.f64 im im 2) -1/12 (*.f64 (pow.f64 im 4) -1/144)) (fma.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) re (*.f64 (fma.f64 (pow.f64 im 4) 1/2880 (*.f64 (fma.f64 im im 2) 1/240)) (pow.f64 re 5))))
(fma.f64 (pow.f64 re 3) (fma.f64 (fma.f64 im im 2) -1/12 (*.f64 (pow.f64 im 4) -1/144)) (fma.f64 (fma.f64 (pow.f64 im 4) 1/2880 (*.f64 (fma.f64 im im 2) 1/240)) (pow.f64 re 5) (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))) re)))
(+.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 -1/12 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/144 (pow.f64 im 4)))) (+.f64 (*.f64 (+.f64 (*.f64 1/2880 (pow.f64 im 4)) (*.f64 1/240 (+.f64 2 (pow.f64 im 2)))) (pow.f64 re 5)) (+.f64 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 -1/10080 (+.f64 2 (pow.f64 im 2))) (*.f64 -1/120960 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/2 (+.f64 2 (pow.f64 im 2))) (*.f64 1/24 (pow.f64 im 4))) re))))
(fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/144)) (fma.f64 (fma.f64 1/2880 (pow.f64 im 4) (*.f64 (fma.f64 im im 2) 1/240)) (pow.f64 re 5) (fma.f64 (pow.f64 re 7) (fma.f64 -1/10080 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/120960)) (*.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) re))))
(fma.f64 (pow.f64 re 3) (fma.f64 (fma.f64 im im 2) -1/12 (*.f64 (pow.f64 im 4) -1/144)) (fma.f64 (fma.f64 (pow.f64 im 4) 1/2880 (*.f64 (fma.f64 im im 2) 1/240)) (pow.f64 re 5) (fma.f64 (fma.f64 1/2 (fma.f64 im im 2) (*.f64 1/24 (pow.f64 im 4))) re (*.f64 (pow.f64 re 7) (fma.f64 (fma.f64 im im 2) -1/10080 (*.f64 (pow.f64 im 4) -1/120960))))))
(fma.f64 (pow.f64 re 3) (fma.f64 (fma.f64 im im 2) -1/12 (*.f64 (pow.f64 im 4) -1/144)) (fma.f64 (fma.f64 (pow.f64 im 4) 1/2880 (*.f64 (fma.f64 im im 2) 1/240)) (pow.f64 re 5) (fma.f64 (pow.f64 re 7) (fma.f64 (fma.f64 im im 2) -1/10080 (*.f64 (pow.f64 im 4) -1/120960)) (*.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))) re))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 (pow.f64 (sqrt.f64 2) 2)) (sin.f64 re))
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re))))
(*.f64 1/2 (+.f64 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re))) (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))) (+.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))))) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (fma.f64 -1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2)) (fma.f64 1/24 (sin.f64 re) (/.f64 (*.f64 1/8 (sin.f64 re)) (pow.f64 (sqrt.f64 2) 2)))))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (fma.f64 -1/8 (/.f64 (sin.f64 re) 2) (fma.f64 1/24 (sin.f64 re) (*.f64 1/8 (/.f64 (sin.f64 re) 2))))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 (/.f64 (sin.f64 re) 2) 0))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 (sqrt.f64 2) 2) (sin.f64 re))) (+.f64 (*.f64 (+.f64 (*.f64 -1/16 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 4))) (*.f64 1/16 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 4)))) (pow.f64 im 6)) (*.f64 (+.f64 (*.f64 -1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))) (+.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2))))) (pow.f64 im 4)))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2)) (*.f64 (pow.f64 im 4) (fma.f64 -1/8 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 2)) (fma.f64 1/24 (sin.f64 re) (/.f64 (*.f64 1/8 (sin.f64 re)) (pow.f64 (sqrt.f64 2) 2)))))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (fma.f64 -1/8 (/.f64 (sin.f64 re) 2) (fma.f64 1/24 (sin.f64 re) (*.f64 1/8 (/.f64 (sin.f64 re) 2))))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/24 (sin.f64 re)) (*.f64 (/.f64 (sin.f64 re) 2) 0))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 im (*.f64 im 1/2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (sin.f64 re) (pow.f64 im 2)))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 -1/2 (/.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 1/2 (/.f64 (sin.f64 re) (*.f64 im im)))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (fma.f64 -1/2 (/.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)) (/.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))) (*.f64 (/.f64 (sin.f64 re) (*.f64 im im)) 0)) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 im (*.f64 im 1/2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))) (*.f64 1/2 (/.f64 (sin.f64 re) (pow.f64 im 2)))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 -1/2 (/.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 1/2 (/.f64 (sin.f64 re) (*.f64 im im)))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (fma.f64 -1/2 (/.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)) (/.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))))))
(+.f64 (+.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))) (*.f64 (/.f64 (sin.f64 re) (*.f64 im im)) 0)) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re))
(*.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 re 1/2))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re)) (*.f64 -1/12 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 -1/12 (sqrt.f64 (fma.f64 im im 2))) (pow.f64 re 3)))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (sqrt.f64 (fma.f64 im im 2)))))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re)) (+.f64 (*.f64 1/240 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 -1/12 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 -1/12 (sqrt.f64 (fma.f64 im im 2))) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (fma.f64 (*.f64 1/240 (sqrt.f64 (fma.f64 im im 2))) (pow.f64 re 5) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (sqrt.f64 (fma.f64 im im 2))))))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) re)) (+.f64 (*.f64 1/240 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 3))) (*.f64 -1/10080 (*.f64 (sqrt.f64 (+.f64 2 (pow.f64 im 2))) (pow.f64 re 7))))))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (sqrt.f64 (fma.f64 im im 2))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (sqrt.f64 (fma.f64 im im 2))) (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (sqrt.f64 (fma.f64 im im 2)))))))
(fma.f64 1/2 (*.f64 re (sqrt.f64 (fma.f64 im im 2))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (sqrt.f64 (fma.f64 im im 2))) (fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (sqrt.f64 (fma.f64 im im 2)))))))
(+.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (+.f64 2 (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sqrt.f64 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (*.f64 1/4 (/.f64 (sin.f64 re) (/.f64 (sqrt.f64 2) (*.f64 im im)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (*.f64 1/4 (/.f64 (*.f64 im im) (/.f64 (sqrt.f64 2) (sin.f64 re)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (*.f64 (/.f64 1/4 (sqrt.f64 2)) (*.f64 im (*.f64 im (sin.f64 re)))))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sqrt.f64 2)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (fma.f64 -1/16 (/.f64 (sin.f64 re) (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 im 4))) (*.f64 1/4 (/.f64 (sin.f64 re) (/.f64 (sqrt.f64 2) (*.f64 im im))))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (fma.f64 1/4 (/.f64 (*.f64 im im) (/.f64 (sqrt.f64 2) (sin.f64 re))) (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)) (sqrt.f64 2)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (fma.f64 1/4 (*.f64 (/.f64 (sin.f64 re) (sqrt.f64 2)) (*.f64 im im)) (*.f64 -1/32 (/.f64 (pow.f64 im 4) (/.f64 (sqrt.f64 2) (sin.f64 re))))))
(+.f64 (*.f64 1/32 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)) (pow.f64 (sqrt.f64 2) 5))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) (sin.f64 re))) (+.f64 (*.f64 -1/16 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)) (pow.f64 (sqrt.f64 2) 3))) (*.f64 1/4 (/.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (sqrt.f64 2))))))
(fma.f64 1/32 (/.f64 (sin.f64 re) (/.f64 (pow.f64 (sqrt.f64 2) 5) (pow.f64 im 6))) (fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (fma.f64 -1/16 (/.f64 (sin.f64 re) (/.f64 (pow.f64 (sqrt.f64 2) 3) (pow.f64 im 4))) (*.f64 1/4 (/.f64 (sin.f64 re) (/.f64 (sqrt.f64 2) (*.f64 im im)))))))
(fma.f64 1/32 (*.f64 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 5)) (pow.f64 im 6)) (fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (fma.f64 1/4 (/.f64 (*.f64 im im) (/.f64 (sqrt.f64 2) (sin.f64 re))) (*.f64 -1/32 (/.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)) (sqrt.f64 2))))))
(fma.f64 1/32 (*.f64 (/.f64 (sin.f64 re) (pow.f64 (sqrt.f64 2) 5)) (pow.f64 im 6)) (fma.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 2)) (fma.f64 1/4 (*.f64 (/.f64 (sin.f64 re) (sqrt.f64 2)) (*.f64 im im)) (*.f64 -1/32 (/.f64 (pow.f64 im 4) (/.f64 (sqrt.f64 2) (sin.f64 re)))))))
(*.f64 1/2 (*.f64 (sin.f64 re) im))
(*.f64 1/2 (*.f64 im (sin.f64 re)))
(+.f64 (*.f64 1/2 (/.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (sin.f64 re) im)))
(*.f64 1/2 (+.f64 (/.f64 (sin.f64 re) im) (*.f64 im (sin.f64 re))))
(*.f64 1/2 (+.f64 (*.f64 im (sin.f64 re)) (/.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (sin.f64 re) im)) (*.f64 1/2 (*.f64 (sin.f64 re) im))))
(fma.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3)) (*.f64 1/2 (+.f64 (/.f64 (sin.f64 re) im) (*.f64 im (sin.f64 re)))))
(fma.f64 1/2 (+.f64 (*.f64 im (sin.f64 re)) (/.f64 (sin.f64 re) im)) (*.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))))
(fma.f64 1/2 (+.f64 (*.f64 im (sin.f64 re)) (/.f64 (sin.f64 re) im)) (*.f64 (/.f64 -1/4 (pow.f64 im 3)) (sin.f64 re)))
(+.f64 (*.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (+.f64 (*.f64 1/2 (/.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 5))))))
(fma.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3)) (fma.f64 1/2 (/.f64 (sin.f64 re) im) (fma.f64 1/2 (*.f64 im (sin.f64 re)) (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 5))))))
(fma.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 3)) (fma.f64 1/2 (+.f64 (*.f64 im (sin.f64 re)) (/.f64 (sin.f64 re) im)) (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 5)))))
(+.f64 (fma.f64 1/2 (*.f64 im (sin.f64 re)) (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 5)))) (*.f64 (/.f64 (sin.f64 re) im) (+.f64 1/2 (/.f64 -1/4 (*.f64 im im)))))
(*.f64 -1/2 (*.f64 (sin.f64 re) im))
(*.f64 -1/2 (*.f64 im (sin.f64 re)))
(*.f64 im (*.f64 (sin.f64 re) -1/2))
(+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) im)) (*.f64 -1/2 (*.f64 (sin.f64 re) im)))
(*.f64 -1/2 (+.f64 (/.f64 (sin.f64 re) im) (*.f64 im (sin.f64 re))))
(*.f64 -1/2 (+.f64 (*.f64 im (sin.f64 re)) (/.f64 (sin.f64 re) im)))
(+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) im)) (+.f64 (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/2 (*.f64 (sin.f64 re) im))))
(fma.f64 -1/2 (/.f64 (sin.f64 re) im) (fma.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 3)) (*.f64 -1/2 (*.f64 im (sin.f64 re)))))
(fma.f64 -1/2 (/.f64 (sin.f64 re) im) (fma.f64 -1/2 (*.f64 im (sin.f64 re)) (/.f64 (*.f64 (sin.f64 re) 1/4) (pow.f64 im 3))))
(+.f64 (*.f64 im (*.f64 (sin.f64 re) -1/2)) (*.f64 (/.f64 (sin.f64 re) im) (+.f64 -1/2 (/.f64 1/4 (*.f64 im im)))))
(+.f64 (*.f64 -1/2 (/.f64 (sin.f64 re) im)) (+.f64 (*.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 5))) (+.f64 (*.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 3))) (*.f64 -1/2 (*.f64 (sin.f64 re) im)))))
(fma.f64 -1/2 (/.f64 (sin.f64 re) im) (fma.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 5)) (fma.f64 1/4 (/.f64 (sin.f64 re) (pow.f64 im 3)) (*.f64 -1/2 (*.f64 im (sin.f64 re))))))
(fma.f64 -1/2 (/.f64 (sin.f64 re) im) (fma.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 5)) (fma.f64 -1/2 (*.f64 im (sin.f64 re)) (/.f64 (*.f64 (sin.f64 re) 1/4) (pow.f64 im 3)))))
(fma.f64 -1/2 (/.f64 (sin.f64 re) im) (fma.f64 -1/4 (/.f64 (sin.f64 re) (pow.f64 im 5)) (fma.f64 -1/2 (*.f64 im (sin.f64 re)) (/.f64 (sin.f64 re) (/.f64 (pow.f64 im 3) 1/4)))))
(*.f64 1/24 re)
(+.f64 (*.f64 1/24 re) (*.f64 -1/144 (pow.f64 re 3)))
(fma.f64 1/24 re (*.f64 (pow.f64 re 3) -1/144))
(fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/24 re))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5))))
(fma.f64 1/24 re (fma.f64 -1/144 (pow.f64 re 3) (*.f64 1/2880 (pow.f64 re 5))))
(fma.f64 1/24 re (fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/2880 (pow.f64 re 5))))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/120960 (pow.f64 re 7)) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5)))))
(fma.f64 1/24 re (fma.f64 -1/120960 (pow.f64 re 7) (fma.f64 -1/144 (pow.f64 re 3) (*.f64 1/2880 (pow.f64 re 5)))))
(fma.f64 1/24 re (fma.f64 (pow.f64 re 7) -1/120960 (fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/2880 (pow.f64 re 5)))))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 (*.f64 1/24 re) (pow.f64 im 4))
(*.f64 1/24 (*.f64 (pow.f64 im 4) re))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(fma.f64 -1/144 (*.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (*.f64 1/24 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/24 re)))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(fma.f64 -1/144 (*.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) re) (*.f64 1/2880 (*.f64 (pow.f64 im 4) (pow.f64 re 5)))))
(+.f64 (*.f64 (pow.f64 im 4) (fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/24 re))) (*.f64 (pow.f64 im 4) (*.f64 1/2880 (pow.f64 re 5))))
(*.f64 (pow.f64 im 4) (fma.f64 1/24 re (fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/2880 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(fma.f64 -1/144 (*.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) re) (fma.f64 1/2880 (*.f64 (pow.f64 im 4) (pow.f64 re 5)) (*.f64 (*.f64 (pow.f64 re 7) -1/120960) (pow.f64 im 4)))))
(+.f64 (*.f64 (pow.f64 im 4) (fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/24 re))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/2880 (pow.f64 re 5)) (*.f64 (pow.f64 re 7) -1/120960))))
(*.f64 (pow.f64 im 4) (+.f64 (fma.f64 (pow.f64 re 3) -1/144 (*.f64 1/24 re)) (+.f64 (*.f64 1/2880 (pow.f64 re 5)) (*.f64 (pow.f64 re 7) -1/120960))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 0 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 1) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))) 1)
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 1)
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 1 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3)) (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 2) (-.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3) (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))) 3)) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2) (-.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/576) (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))) 3) (*.f64 1/13824 (pow.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)) 3))) (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))) 2) (fma.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))) (*.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) -1/2)))))
(/.f64 (fma.f64 (*.f64 (pow.f64 (sin.f64 re) 3) 1/13824) (pow.f64 im 12) (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3)) (+.f64 (*.f64 (pow.f64 im 8) (pow.f64 (*.f64 1/24 (sin.f64 re)) 2)) (*.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (fma.f64 im im 2)) (*.f64 1/24 (pow.f64 im 4)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) 2) (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2) (*.f64 (*.f64 (pow.f64 im 8) 1/576) (pow.f64 (sin.f64 re) 2))) (-.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))) (fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)) -1/24)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2) (*.f64 (pow.f64 im 8) (pow.f64 (*.f64 1/24 (sin.f64 re)) 2))) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (fma.f64 im im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 1)
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 2) 1/2)
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(pow.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 3) 1/3)
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 3)
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 2)
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 2))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(log.f64 (exp.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) 3))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(exp.f64 (log.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 1))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (fma.f64 im im 2))))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) 1/2)
(sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/4) (pow.f64 (sin.f64 re) 2)))
(sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/4 (pow.f64 (sin.f64 re) 2))))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 3) 1/3)
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 3)
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 2)
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3/2)) 1/3)
(cbrt.f64 (*.f64 (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (fma.f64 im im 2) 3/2)))
(cbrt.f64 (*.f64 1/8 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 im im 2) 3/2))))
(pow.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3/2) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) 1/3)
(cbrt.f64 (*.f64 (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (fma.f64 im im 2) 3/2)))
(cbrt.f64 (*.f64 1/8 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 im im 2) 3/2))))
(sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/4 (pow.f64 (sin.f64 re) 2))))
(sqrt.f64 (*.f64 (*.f64 (fma.f64 im im 2) 1/4) (pow.f64 (sin.f64 re) 2)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (sqrt.f64 (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) 3))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3/2)))
(cbrt.f64 (*.f64 (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (fma.f64 im im 2) 3/2)))
(cbrt.f64 (*.f64 1/8 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 im im 2) 3/2))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3/2) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(cbrt.f64 (*.f64 (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (fma.f64 im im 2) 3/2)))
(cbrt.f64 (*.f64 1/8 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 im im 2) 3/2))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2))))) 1))
(*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) 1/24))
(*.f64 1/24 (sin.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))))
(*.f64 1/24 (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24))) 1)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) 1/24) 1)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (*.f64 1/576 (pow.f64 (sin.f64 re) 2)) 1/2)
(sqrt.f64 (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))
(fabs.f64 (*.f64 1/24 (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) 1/3)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) 1/24)) 3)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) 2)
(*.f64 1/24 (sin.f64 re))
(sqrt.f64 (*.f64 1/576 (pow.f64 (sin.f64 re) 2)))
(fabs.f64 (*.f64 1/24 (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 1/24) (sin.f64 re)))
(*.f64 1/24 (sin.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) 1/24))))
(*.f64 1/24 (sin.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3))
(*.f64 1/24 (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24)))
(*.f64 1/24 (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/24)))
(*.f64 1/24 (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)))
(*.f64 1/24 (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)) 1))
(*.f64 1/24 (sin.f64 re))
(+.f64 0 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 1/24 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 1/24 (sin.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 1/24 (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) 1)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 1)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))) 1/2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/576) (pow.f64 (sin.f64 re) 2)))
(sqrt.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))))
(fabs.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3) 1/3)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 3)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 (sin.f64 re) 1/24))) 2)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)) 1/3)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)) 1/3)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(sqrt.f64 (*.f64 (pow.f64 im 8) (*.f64 1/576 (pow.f64 (sin.f64 re) 2))))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/576) (pow.f64 (sin.f64 re) 2)))
(fabs.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (*.f64 (sin.f64 re) 1/24)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 1))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 30 to 16 computations (46.7% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite45.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
849×pow1_binary64
787×add-log-exp_binary64
787×log1p-expm1-u_binary64
787×expm1-log1p-u_binary64
771×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify49.0ms (0.6%)

Algorithm
egg-herbie
Rules
660×log-prod_binary64
481×fma-neg_binary64
446×associate-*l*_binary64
433×times-frac_binary64
396×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073551
1191541
2578537
33327537
46550537
Stop Event
node limit
Counts
45 → 38
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (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 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(+.f64 re (*.f64 (*.f64 1/2 (*.f64 im im)) re))
(+.f64 re (*.f64 re (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) re) re)
(+.f64 (*.f64 re (*.f64 1/2 (*.f64 im im))) re)
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)) 1)
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) re) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (*.f64 re (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 re (+.f64 (*.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) re) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re) 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 re 3)))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)))
Outputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 (*.f64 1/2 (*.f64 im im)) re))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 re (*.f64 re (*.f64 1/2 (*.f64 im im))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) re) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(+.f64 (*.f64 re (*.f64 1/2 (*.f64 im im))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)) 1)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 re (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))) re)
(*.f64 re (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)) re))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) re) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 re (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 re (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 re (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 re (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 re (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))) re)
(*.f64 re (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)) re))
(/.f64 (*.f64 re (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 re (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 re (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 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) re) 1)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re) 3) 1/3)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)) 3)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)) 2)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re) 2))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re) 3))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 re 3)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 re im)) im re)
(fma.f64 1/2 (*.f64 im (*.f64 re im)) re)

localize21.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
7.6b
(*.f64 (*.f64 re 1/2) (*.f64 im im))
Compiler

Compiled 27 to 13 computations (51.9% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite41.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify33.0ms (0.4%)

Algorithm
egg-herbie
Rules
890×log-prod_binary64
771×distribute-rgt-in_binary64
760×distribute-lft-in_binary64
589×associate-*l*_binary64
523×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
037350
196350
2362350
32925350
Stop Event
node limit
Counts
35 → 15
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 (*.f64 (*.f64 im im) re) 1/2)) 1)
(pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 1)
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)) 3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 re 1/2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 2))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (*.f64 re 1/2)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)))
(exp.f64 (log.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)))
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(-.f64 (+.f64 1 (*.f64 (*.f64 (*.f64 im im) re) 1/2)) 1)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 1)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 3) 1/3)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)) 3)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 re 1/2))) 2)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 2))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2) 3))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))
(exp.f64 (log.f64 (*.f64 (*.f64 (*.f64 im im) re) 1/2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(*.f64 im (*.f64 re (*.f64 1/2 im)))

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 re (cosh.f64 im))
Compiler

Compiled 10 to 4 computations (60% saved)

series13.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
9.0ms
re
@0
(*.f64 re (cosh.f64 im))
1.0ms
im
@-inf
(*.f64 re (cosh.f64 im))
1.0ms
im
@inf
(*.f64 re (cosh.f64 im))
1.0ms
re
@inf
(*.f64 re (cosh.f64 im))
0.0ms
re
@-inf
(*.f64 re (cosh.f64 im))

rewrite36.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
507×pow1_binary64
488×add-sqr-sqrt_binary64
468×add-log-exp_binary64
467×log1p-expm1-u_binary64
467×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify34.0ms (0.4%)

Algorithm
egg-herbie
Rules
639×fma-def_binary64
560×associate-*l/_binary64
445×associate-*r/_binary64
410×distribute-rgt-in_binary64
399×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
058546
1154501
2501442
32415376
Stop Event
node limit
Counts
37 → 36
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(-.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) 1)
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 2)
(/.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 re (cosh.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 re) (cosh.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 re (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 re (cosh.f64 im))))
Outputs
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(fma.f64 im (*.f64 im (*.f64 1/2 re)) re)
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(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 im (*.f64 im re)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 re (*.f64 1/24 (pow.f64 im 4)) re))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) re)
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re)))
(fma.f64 re (*.f64 1/720 (pow.f64 im 6)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 re (*.f64 1/24 (pow.f64 im 4)) re)))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (fma.f64 re (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (*.f64 2 (cosh.f64 im)) re))
(-.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) 1)
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 2)
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(/.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2)
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (*.f64 re (cosh.f64 im)) 1)
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3) 1/3)
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 3)
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 2))
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(log.f64 (pow.f64 (exp.f64 re) (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(cbrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3))
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 re (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 re (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 re (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) -1)
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 re)
0.5b
(+.f64 1 (sin.f64 re))
3.5b
(-.f64 (+.f64 1 (sin.f64 re)) 1)
Compiler

Compiled 16 to 10 computations (37.5% saved)

series3.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
2.0ms
re
@0
(+.f64 1 (sin.f64 re))
0.0ms
re
@0
(-.f64 (+.f64 1 (sin.f64 re)) 1)
0.0ms
re
@inf
(+.f64 1 (sin.f64 re))
0.0ms
re
@inf
(-.f64 (+.f64 1 (sin.f64 re)) 1)
0.0ms
re
@-inf
(+.f64 1 (sin.f64 re))

rewrite44.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
649×pow1_binary64
608×add-log-exp_binary64
608×log1p-expm1-u_binary64
608×expm1-log1p-u_binary64
598×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify42.0ms (0.5%)

Algorithm
egg-herbie
Rules
494×associate-/l*_binary64
476×cancel-sign-sub-inv_binary64
332×associate-/r*_binary64
319×fma-neg_binary64
300×unswap-sqr_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0165846
1404803
21838803
Stop Event
node limit
Counts
88 → 101
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
1
(+.f64 1 re)
(+.f64 1 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 1 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 1 (+.f64 (sin.f64 re) -1))
(+.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) 1))
(+.f64 (sin.f64 re) 0)
(+.f64 (+.f64 1 (sin.f64 re)) -1)
(+.f64 -1 (+.f64 1 (sin.f64 re)))
(+.f64 (+.f64 (sin.f64 re) -1) 1)
(*.f64 1 (sin.f64 re))
(*.f64 (sin.f64 re) 1)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2))))
(*.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (/.f64 1 (+.f64 (sin.f64 re) 2)))
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 1) (-.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2)) (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 2) (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2)))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (-.f64 1 (*.f64 (+.f64 1 (sin.f64 re)) -1))))
(/.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (+.f64 (sin.f64 re) 2))
(/.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (-.f64 (+.f64 1 (sin.f64 re)) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2))))
(/.f64 (neg.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re))) (neg.f64 (+.f64 (sin.f64 re) 2)))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 1 (-.f64 (*.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -1)) (+.f64 (sin.f64 re) -1))))
(/.f64 (-.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -1))) (-.f64 1 (+.f64 (sin.f64 re) -1)))
(pow.f64 (sin.f64 re) 1)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (sin.f64 re) 2))
(log.f64 (exp.f64 (sin.f64 re)))
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(fma.f64 1 (+.f64 1 (sin.f64 re)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2) (cbrt.f64 (+.f64 1 (sin.f64 re))) -1)
(fma.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) (sqrt.f64 (+.f64 1 (sin.f64 re))) -1)
(-.f64 (+.f64 (sin.f64 re) 2) 1)
(-.f64 (/.f64 1 (-.f64 1 (sin.f64 re))) (/.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (sin.f64 re))))
(*.f64 1 (+.f64 1 (sin.f64 re)))
(*.f64 (+.f64 1 (sin.f64 re)) 1)
(*.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2) (cbrt.f64 (+.f64 1 (sin.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 1))
(*.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) (sqrt.f64 (+.f64 1 (sin.f64 re))))
(*.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) (*.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 1))
(*.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1)))))
(*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (/.f64 1 (-.f64 1 (sin.f64 re))))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))) (+.f64 1 (pow.f64 (sin.f64 re) 3))))
(/.f64 1 (/.f64 (-.f64 1 (sin.f64 re)) (*.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (sin.f64 re))))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 1 (sin.f64 re)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1)))))
(/.f64 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re))) (neg.f64 (-.f64 1 (sin.f64 re))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 1) (+.f64 (sin.f64 re) -1))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) 1) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1) (-.f64 1 (sin.f64 re)))
(pow.f64 (+.f64 1 (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 3)
(pow.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 2)
(pow.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2))
(log.f64 (exp.f64 (+.f64 1 (sin.f64 re))))
(cbrt.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3))
(expm1.f64 (log.f64 (+.f64 (sin.f64 re) 2)))
(log1p.f64 (expm1.f64 (+.f64 1 (sin.f64 re))))
(exp.f64 (log1p.f64 (sin.f64 re)))
(fma.f64 1 (sin.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 1)
Outputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re)) (*.f64 -1/5040 (pow.f64 re 7)))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
1
(+.f64 1 re)
(+.f64 re 1)
(+.f64 1 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) 1)
(+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 1)
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 1 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) 1))
(+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (fma.f64 1/120 (pow.f64 re 5) 1))
(+.f64 1 (+.f64 (sin.f64 re) -1))
(sin.f64 re)
(+.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) 1))
(sin.f64 re)
(+.f64 (sin.f64 re) 0)
(sin.f64 re)
(+.f64 (+.f64 1 (sin.f64 re)) -1)
(sin.f64 re)
(+.f64 -1 (+.f64 1 (sin.f64 re)))
(sin.f64 re)
(+.f64 (+.f64 (sin.f64 re) -1) 1)
(sin.f64 re)
(*.f64 1 (sin.f64 re))
(sin.f64 re)
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1) (/.f64 1 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 2) (+.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 (sin.f64 re) (+.f64 2 (pow.f64 (+.f64 (sin.f64 re) 1) 2))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 -1 (*.f64 (+.f64 (sin.f64 re) 1) (-.f64 -2 (sin.f64 re)))))
(*.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (/.f64 1 (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(*.f64 (+.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 1) (-.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 1))
(sin.f64 re)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2)) (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 2) (+.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 (sin.f64 re) (+.f64 2 (pow.f64 (+.f64 (sin.f64 re) 1) 2))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 -1 (*.f64 (+.f64 (sin.f64 re) 1) (-.f64 -2 (sin.f64 re)))))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 2) (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re))))
(sin.f64 re)
(/.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2)))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 2) (+.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 (sin.f64 re) (+.f64 2 (pow.f64 (+.f64 (sin.f64 re) 1) 2))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 -1 (*.f64 (+.f64 (sin.f64 re) 1) (-.f64 -2 (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1) (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (-.f64 1 (*.f64 (+.f64 1 (sin.f64 re)) -1))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 2) (+.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 (sin.f64 re) (+.f64 2 (pow.f64 (+.f64 (sin.f64 re) 1) 2))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 -1 (*.f64 (+.f64 (sin.f64 re) 1) (-.f64 -2 (sin.f64 re)))))
(/.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (+.f64 (sin.f64 re) 2))
(sin.f64 re)
(/.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (-.f64 (+.f64 1 (sin.f64 re)) -1))
(sin.f64 re)
(/.f64 (neg.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) -1)) (neg.f64 (+.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2) (+.f64 (sin.f64 re) 2))))
(*.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) 1) 2) (+.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 -1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 (sin.f64 re) (+.f64 2 (pow.f64 (+.f64 (sin.f64 re) 1) 2))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) 1) 3)) (+.f64 -1 (*.f64 (+.f64 (sin.f64 re) 1) (-.f64 -2 (sin.f64 re)))))
(/.f64 (neg.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re))) (neg.f64 (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 1 (-.f64 (*.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -1)) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) (-.f64 (+.f64 (sin.f64 re) -1) 1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) (*.f64 (-.f64 2 (sin.f64 re)) -1))))
(/.f64 (-.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -1))) (-.f64 1 (+.f64 (sin.f64 re) -1)))
(/.f64 (+.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) (-.f64 1 (sin.f64 re)))) (-.f64 2 (sin.f64 re)))
(/.f64 (-.f64 1 (*.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -1))) (-.f64 2 (sin.f64 re)))
(pow.f64 (sin.f64 re) 1)
(sin.f64 re)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(sin.f64 re)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(sin.f64 re)
(sqrt.f64 (pow.f64 (sin.f64 re) 2))
(sin.f64 re)
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(sin.f64 re)
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)
(fma.f64 1 (+.f64 1 (sin.f64 re)) -1)
(sin.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2) (cbrt.f64 (+.f64 1 (sin.f64 re))) -1)
(sin.f64 re)
(fma.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) (sqrt.f64 (+.f64 1 (sin.f64 re))) -1)
(sin.f64 re)
(-.f64 (+.f64 (sin.f64 re) 2) 1)
(+.f64 (sin.f64 re) 1)
(-.f64 (/.f64 1 (-.f64 1 (sin.f64 re))) (/.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (sin.f64 re))))
(*.f64 1 (+.f64 1 (sin.f64 re)))
(+.f64 (sin.f64 re) 1)
(*.f64 (+.f64 1 (sin.f64 re)) 1)
(+.f64 (sin.f64 re) 1)
(*.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2))
(+.f64 (sin.f64 re) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2) (cbrt.f64 (+.f64 1 (sin.f64 re))))
(+.f64 (sin.f64 re) 1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 1))
(+.f64 (sin.f64 re) 1)
(*.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) (sqrt.f64 (+.f64 1 (sin.f64 re))))
(+.f64 (sin.f64 re) 1)
(*.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) (*.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 1))
(+.f64 (sin.f64 re) 1)
(*.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1) 1))
(*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (/.f64 1 (-.f64 1 (sin.f64 re))))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 1 (sin.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (cos.f64 re) (-.f64 1 (sin.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (-.f64 1 (sin.f64 re)) (cos.f64 re)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))) (+.f64 1 (pow.f64 (sin.f64 re) 3))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1) 1))
(/.f64 1 (/.f64 (-.f64 1 (sin.f64 re)) (*.f64 (cos.f64 re) (cos.f64 re))))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 1 (sin.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (cos.f64 re) (-.f64 1 (sin.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (-.f64 1 (sin.f64 re)) (cos.f64 re)))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1) 1))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (sin.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1) 1))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 1 (sin.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (cos.f64 re) (-.f64 1 (sin.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (-.f64 1 (sin.f64 re)) (cos.f64 re)))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1) 1))
(/.f64 (neg.f64 (*.f64 (cos.f64 re) (cos.f64 re))) (neg.f64 (-.f64 1 (sin.f64 re))))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 1 (sin.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (cos.f64 re) (-.f64 1 (sin.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (-.f64 1 (sin.f64 re)) (cos.f64 re)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 1) (+.f64 (sin.f64 re) -1))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 1 (sin.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (cos.f64 re) (-.f64 1 (sin.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (-.f64 1 (sin.f64 re)) (cos.f64 re)))
(/.f64 (*.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) 1) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -1) 1))
(/.f64 (*.f64 (*.f64 (cos.f64 re) (cos.f64 re)) 1) (-.f64 1 (sin.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 1 (sin.f64 re)))
(*.f64 (cos.f64 re) (/.f64 (cos.f64 re) (-.f64 1 (sin.f64 re))))
(/.f64 (cos.f64 re) (/.f64 (-.f64 1 (sin.f64 re)) (cos.f64 re)))
(pow.f64 (+.f64 1 (sin.f64 re)) 1)
(+.f64 (sin.f64 re) 1)
(pow.f64 (cbrt.f64 (+.f64 1 (sin.f64 re))) 3)
(+.f64 (sin.f64 re) 1)
(pow.f64 (sqrt.f64 (+.f64 1 (sin.f64 re))) 2)
(+.f64 (sin.f64 re) 1)
(pow.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3) 1/3)
(+.f64 (sin.f64 re) 1)
(sqrt.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 2))
(+.f64 (sin.f64 re) 1)
(log.f64 (exp.f64 (+.f64 1 (sin.f64 re))))
(+.f64 (sin.f64 re) 1)
(cbrt.f64 (pow.f64 (+.f64 1 (sin.f64 re)) 3))
(+.f64 (sin.f64 re) 1)
(expm1.f64 (log.f64 (+.f64 (sin.f64 re) 2)))
(log1p.f64 (expm1.f64 (+.f64 1 (sin.f64 re))))
(+.f64 (sin.f64 re) 1)
(exp.f64 (log1p.f64 (sin.f64 re)))
(fma.f64 1 (sin.f64 re) 1)
(+.f64 (sin.f64 re) 1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 1)
(+.f64 (sin.f64 re) 1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 1)
(+.f64 (sin.f64 re) 1)

eval275.0ms (3.1%)

Compiler

Compiled 10061 to 6640 computations (34% saved)

prune116.0ms (1.3%)

Pruning

17 alts after pruning (9 fresh and 8 done)

PrunedKeptTotal
New4496455
Fresh033
Picked101
Done189
Total45117468
Error
0b
Counts
468 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
60.1b
(-.f64 (+.f64 re 1) 1)
29.5b
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
61.3b
(-.f64 1 1)
29.8b
(+.f64 (+.f64 (sin.f64 re) -1) 1)
0.7b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
31.6b
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
31.6b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
1.5b
(*.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (/.f64 1 (+.f64 (sin.f64 re) 2)))
0.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.0b
(*.f64 re (*.f64 1/2 (*.f64 im im)))
31.1b
(*.f64 re (cosh.f64 im))
31.1b
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
60.9b
(*.f64 1/2 (*.f64 im (*.f64 re im)))
1.3b
(sin.f64 re)
32.0b
re
Compiler

Compiled 253 to 185 computations (26.9% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 (sin.f64 re) 2)
0.2b
(/.f64 1 (+.f64 (sin.f64 re) 2))
0.2b
(*.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (/.f64 1 (+.f64 (sin.f64 re) 2)))
0.2b
(*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re))
Compiler

Compiled 38 to 22 computations (42.1% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

12 calls:

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

rewrite62.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
975×pow1_binary64
909×add-log-exp_binary64
908×log1p-expm1-u_binary64
908×expm1-log1p-u_binary64
96×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0945
119445
2249945
Stop Event
node limit
Counts
4 → 108
Calls
Call 1
Inputs
(*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re))
(*.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (/.f64 1 (+.f64 (sin.f64 re) 2)))
(/.f64 1 (+.f64 (sin.f64 re) 2))
(+.f64 (sin.f64 re) 2)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sin.f64 re) 2) (pow.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (sin.f64 re)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (sin.f64 re)) (+.f64 (sin.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (+.f64 (sin.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (+.f64 (sin.f64 re) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3) (pow.f64 (sin.f64 re) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 re) 2) (/.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 2) (/.f64 (+.f64 (sin.f64 re) 2) (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (/.f64 (+.f64 (sin.f64 re) 2) (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (neg.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (sqrt.f64 (+.f64 (sin.f64 re) 2))) (sqrt.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 1) (+.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2)) (cbrt.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (+.f64 (sin.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (neg.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) -1) (neg.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (+.f64 (sin.f64 re) 2)) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (+.f64 (sin.f64 re) 2) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 1 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))) (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2)) (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -1/2) (pow.f64 (+.f64 (sin.f64 re) 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (/.f64 1 (neg.f64 (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) -1) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) -1) (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (+.f64 (sin.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sin.f64 re) 2) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (neg.f64 (log.f64 (+.f64 (sin.f64 re) 2))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 re) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) -2)) (/.f64 4 (+.f64 (sin.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sin.f64 re) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) (cbrt.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) (sqrt.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (/.f64 1 (+.f64 (sin.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (sin.f64 re) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 1 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))) (+.f64 8 (pow.f64 (sin.f64 re) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 re) -2) (fma.f64 (sin.f64 re) (sin.f64 re) -4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) (pow.f64 (+.f64 (sin.f64 re) 2) -1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (sin.f64 re) 2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (neg.f64 (+.f64 (sin.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4 (pow.f64 (sin.f64 re) 2)) (-.f64 2 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sin.f64 re) 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 re) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (sin.f64 re) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 re) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 2)))))

simplify56.0ms (0.6%)

Algorithm
egg-herbie
Rules
837×fma-def_binary64
583×cancel-sign-sub-inv_binary64
394×div-sub_binary64
311×log-prod_binary64
193×cube-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02701569
16391477
230081454
Stop Event
node limit
Counts
156 → 182
Calls
Call 1
Inputs
(*.f64 2 re)
(+.f64 (pow.f64 re 2) (*.f64 2 re))
(+.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/3 (pow.f64 re 3)) (*.f64 2 re)))
(+.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/3 (pow.f64 re 3)) (+.f64 (*.f64 2 re) (*.f64 -1/3 (pow.f64 re 4)))))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
1/2
(+.f64 (*.f64 -1/4 re) 1/2)
(+.f64 (*.f64 -1/4 re) (+.f64 1/2 (*.f64 1/8 (pow.f64 re 2))))
(+.f64 (*.f64 -1/4 re) (+.f64 1/2 (+.f64 (*.f64 -1/48 (pow.f64 re 3)) (*.f64 1/8 (pow.f64 re 2)))))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
2
(+.f64 2 re)
(+.f64 2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) 2))
(+.f64 (*.f64 (sin.f64 re) 2) (pow.f64 (sin.f64 re) 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))) 1)
(/.f64 (*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (sin.f64 re)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (sin.f64 re)) (+.f64 (sin.f64 re) -2))
(/.f64 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (+.f64 (sin.f64 re) -2))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (+.f64 (sin.f64 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (+.f64 (sin.f64 re) 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))))) 1)
(/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))
(/.f64 (+.f64 (sin.f64 re) 2) (/.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 2))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 2) (/.f64 (+.f64 (sin.f64 re) 2) (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))
(/.f64 (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (/.f64 (+.f64 (sin.f64 re) 2) (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (neg.f64 (+.f64 (sin.f64 re) 2)))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (sqrt.f64 (+.f64 (sin.f64 re) 2))) (sqrt.f64 (+.f64 (sin.f64 re) 2)))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 1) (+.f64 (sin.f64 re) 2))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2)) (cbrt.f64 (+.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (+.f64 (sin.f64 re) -2))
(/.f64 (*.f64 -1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (neg.f64 (+.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) -1) (neg.f64 (+.f64 (sin.f64 re) 2)))
(pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 1)
(pow.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))) 3)
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))) 2)
(sqrt.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 2))
(log.f64 (pow.f64 (exp.f64 (+.f64 (sin.f64 re) 2)) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))))))
(cbrt.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 3))
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (+.f64 (sin.f64 re) 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3)))
(expm1.f64 (log1p.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))
(log1p.f64 (expm1.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))
(exp.f64 (log.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)))) 1)
(*.f64 1 (/.f64 1 (+.f64 (sin.f64 re) 2)))
(*.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 1)
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))) (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2)))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2)) (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))))
(*.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -1/2) (pow.f64 (+.f64 (sin.f64 re) 2) -1/2))
(*.f64 -1 (/.f64 1 (neg.f64 (+.f64 (sin.f64 re) 2))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) -1) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) -1))
(*.f64 (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) -1) (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) -1))
(*.f64 (/.f64 1 (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(*.f64 (/.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (+.f64 (sin.f64 re) -2))
(pow.f64 (+.f64 (sin.f64 re) 2) -1)
(pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 1)
(pow.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3) 1/3)
(pow.f64 (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))) 3)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -1/2) 2)
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2))
(log.f64 (exp.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)))))
(cbrt.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3))
(expm1.f64 (log1p.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))
(log1p.f64 (expm1.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))
(exp.f64 (neg.f64 (log.f64 (+.f64 (sin.f64 re) 2))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 re) 2))) 1)
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) -2)) (/.f64 4 (+.f64 (sin.f64 re) -2)))
(*.f64 (+.f64 (sin.f64 re) 2) 1)
(*.f64 1 (+.f64 (sin.f64 re) 2))
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) (cbrt.f64 (+.f64 (sin.f64 re) 2)))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) (sqrt.f64 (+.f64 (sin.f64 re) 2)))
(*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2)))))
(*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (/.f64 1 (+.f64 (sin.f64 re) -2)))
(/.f64 (+.f64 (sin.f64 re) 2) 1)
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 re) 2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))) (+.f64 8 (pow.f64 (sin.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) -2) (fma.f64 (sin.f64 re) (sin.f64 re) -4)))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))))
(/.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) (pow.f64 (+.f64 (sin.f64 re) 2) -1/2))
(/.f64 (neg.f64 (+.f64 (sin.f64 re) 2)) -1)
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2)))))
(/.f64 (neg.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (neg.f64 (+.f64 (sin.f64 re) -2)))
(/.f64 (-.f64 4 (pow.f64 (sin.f64 re) 2)) (-.f64 2 (sin.f64 re)))
(pow.f64 (+.f64 (sin.f64 re) 2) 1)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3) 1/3)
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 3)
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) 2)
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 2))
(log.f64 (exp.f64 (+.f64 (sin.f64 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 re) 2))))
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3))
(expm1.f64 (log1p.f64 (+.f64 (sin.f64 re) 2)))
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) 2)))
(exp.f64 (log.f64 (+.f64 (sin.f64 re) 2)))
(fma.f64 1 (sin.f64 re) 2)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 2)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 2)
Outputs
(*.f64 2 re)
(+.f64 (pow.f64 re 2) (*.f64 2 re))
(+.f64 (*.f64 2 re) (*.f64 re re))
(*.f64 re (+.f64 2 re))
(+.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/3 (pow.f64 re 3)) (*.f64 2 re)))
(+.f64 (*.f64 re re) (fma.f64 -1/3 (pow.f64 re 3) (*.f64 2 re)))
(fma.f64 re re (fma.f64 2 re (*.f64 -1/3 (pow.f64 re 3))))
(fma.f64 re (+.f64 2 re) (*.f64 -1/3 (pow.f64 re 3)))
(+.f64 (pow.f64 re 2) (+.f64 (*.f64 -1/3 (pow.f64 re 3)) (+.f64 (*.f64 2 re) (*.f64 -1/3 (pow.f64 re 4)))))
(+.f64 (*.f64 re re) (fma.f64 -1/3 (pow.f64 re 3) (fma.f64 2 re (*.f64 -1/3 (pow.f64 re 4)))))
(fma.f64 re re (fma.f64 -1/3 (pow.f64 re 3) (fma.f64 2 re (*.f64 -1/3 (pow.f64 re 4)))))
(fma.f64 re re (fma.f64 2 re (fma.f64 -1/3 (pow.f64 re 3) (*.f64 -1/3 (pow.f64 re 4)))))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)))
(fma.f64 1/120 (pow.f64 re 5) (fma.f64 (pow.f64 re 3) -1/6 re))
(fma.f64 (pow.f64 re 3) -1/6 (fma.f64 1/120 (pow.f64 re 5) re))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (fma.f64 (pow.f64 re 3) -1/6 (*.f64 -1/5040 (pow.f64 re 7))) (fma.f64 1/120 (pow.f64 re 5) re))
(fma.f64 1/120 (pow.f64 re 5) (fma.f64 (pow.f64 re 3) -1/6 (fma.f64 -1/5040 (pow.f64 re 7) re)))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
1/2
(+.f64 (*.f64 -1/4 re) 1/2)
(fma.f64 -1/4 re 1/2)
(fma.f64 re -1/4 1/2)
(+.f64 (*.f64 -1/4 re) (+.f64 1/2 (*.f64 1/8 (pow.f64 re 2))))
(+.f64 (fma.f64 -1/4 re 1/2) (*.f64 (*.f64 re re) 1/8))
(fma.f64 re -1/4 (fma.f64 (*.f64 re re) 1/8 1/2))
(fma.f64 re -1/4 (fma.f64 re (*.f64 re 1/8) 1/2))
(+.f64 (*.f64 -1/4 re) (+.f64 1/2 (+.f64 (*.f64 -1/48 (pow.f64 re 3)) (*.f64 1/8 (pow.f64 re 2)))))
(+.f64 (fma.f64 -1/4 re 1/2) (fma.f64 -1/48 (pow.f64 re 3) (*.f64 (*.f64 re re) 1/8)))
(+.f64 (fma.f64 re -1/4 1/2) (fma.f64 (*.f64 re re) 1/8 (*.f64 (pow.f64 re 3) -1/48)))
(fma.f64 re -1/4 (fma.f64 re (*.f64 re 1/8) (fma.f64 (pow.f64 re 3) -1/48 1/2)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
2
(+.f64 2 re)
(+.f64 2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 2 (+.f64 re (*.f64 (pow.f64 re 3) -1/6)))
(+.f64 2 (fma.f64 (pow.f64 re 3) -1/6 re))
(+.f64 re (fma.f64 (pow.f64 re 3) -1/6 2))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 2 (+.f64 re (*.f64 (pow.f64 re 3) -1/6))))
(+.f64 2 (fma.f64 1/120 (pow.f64 re 5) (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (fma.f64 (pow.f64 re 3) -1/6 2)))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 2 (sin.f64 re))
(+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) 2) (pow.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))) 1)
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (sin.f64 re)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re)))))
(/.f64 (fma.f64 (sin.f64 re) 8 (pow.f64 (sin.f64 re) 4)) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (sin.f64 re) 8 (pow.f64 (sin.f64 re) 4)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (sin.f64 re)) (+.f64 (sin.f64 re) -2))
(/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) -2) (fma.f64 (sin.f64 re) (sin.f64 re) -4)))
(*.f64 (/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2)) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re)))))
(/.f64 (fma.f64 (sin.f64 re) 8 (pow.f64 (sin.f64 re) 4)) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (sin.f64 re) 8 (pow.f64 (sin.f64 re) 4)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (+.f64 (sin.f64 re) -2))
(/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) -2) (fma.f64 (sin.f64 re) (sin.f64 re) -4)))
(*.f64 (/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2)) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 1)
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) 1/3)
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 3)
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 2)
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 2))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (+.f64 (sin.f64 re) 2)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (+.f64 (sin.f64 re) 2) 3)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3) (pow.f64 (sin.f64 re) 3)))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(*.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))))) 1)
(sin.f64 re)
(/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(/.f64 (+.f64 (sin.f64 re) 2) (/.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)))
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 2))
(sin.f64 re)
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(sin.f64 re)
(/.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) 2) (/.f64 (+.f64 (sin.f64 re) 2) (cbrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(/.f64 (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (/.f64 (+.f64 (sin.f64 re) 2) (sqrt.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (neg.f64 (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (sqrt.f64 (+.f64 (sin.f64 re) 2))) (sqrt.f64 (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 1) (+.f64 (sin.f64 re) 2))
(sin.f64 re)
(/.f64 (/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2)) (cbrt.f64 (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(/.f64 (*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re)))) (/.f64 (sin.f64 re) (+.f64 2 (sin.f64 re)))))
(/.f64 (/.f64 (fma.f64 (sin.f64 re) 8 (pow.f64 (sin.f64 re) 4)) (+.f64 2 (sin.f64 re))) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (sin.f64 re) 8 (pow.f64 (sin.f64 re) 4)) (*.f64 (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4) (+.f64 2 (sin.f64 re))))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (+.f64 (sin.f64 re) -2))
(/.f64 (/.f64 (*.f64 (sin.f64 re) (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (+.f64 2 (sin.f64 re))) (+.f64 (sin.f64 re) -2))
(*.f64 (/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2)) (/.f64 (sin.f64 re) (+.f64 2 (sin.f64 re))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (*.f64 -4 (sin.f64 re))) (*.f64 (+.f64 (sin.f64 re) -2) (+.f64 2 (sin.f64 re))))
(/.f64 (*.f64 -1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))) (neg.f64 (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) -1) (neg.f64 (+.f64 (sin.f64 re) 2)))
(sin.f64 re)
(pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 1)
(sin.f64 re)
(pow.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 3) 1/3)
(sin.f64 re)
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))) 3)
(sin.f64 re)
(pow.f64 (sqrt.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))) 2)
(sin.f64 re)
(sqrt.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 2))
(sin.f64 re)
(log.f64 (pow.f64 (exp.f64 (+.f64 (sin.f64 re) 2)) (/.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2))))
(sin.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))))))
(sin.f64 re)
(cbrt.f64 (pow.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2))) 3))
(sin.f64 re)
(cbrt.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (+.f64 (sin.f64 re) 2) 3)))
(sin.f64 re)
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3)))
(sin.f64 re)
(cbrt.f64 (*.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3) (pow.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 2)) 3)))
(sin.f64 re)
(expm1.f64 (log1p.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(log1p.f64 (expm1.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(exp.f64 (log.f64 (/.f64 (sin.f64 re) (/.f64 (+.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 2)))))
(sin.f64 re)
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)))) 1)
(/.f64 1 (+.f64 2 (sin.f64 re)))
(*.f64 1 (/.f64 1 (+.f64 (sin.f64 re) 2)))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(*.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 1)
(/.f64 1 (+.f64 2 (sin.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))) (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2)))
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 2 (sin.f64 re)))) (cbrt.f64 (pow.f64 (+.f64 2 (sin.f64 re)) -2)))
(/.f64 (cbrt.f64 (pow.f64 (+.f64 2 (sin.f64 re)) -2)) (cbrt.f64 (+.f64 2 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2)) (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))))
(*.f64 (/.f64 1 (cbrt.f64 (+.f64 2 (sin.f64 re)))) (cbrt.f64 (pow.f64 (+.f64 2 (sin.f64 re)) -2)))
(/.f64 (cbrt.f64 (pow.f64 (+.f64 2 (sin.f64 re)) -2)) (cbrt.f64 (+.f64 2 (sin.f64 re))))
(*.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -1/2) (pow.f64 (+.f64 (sin.f64 re) 2) -1/2))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(*.f64 -1 (/.f64 1 (neg.f64 (+.f64 (sin.f64 re) 2))))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) -1) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) -1))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) -1) (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) -1))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(*.f64 (/.f64 1 (+.f64 8 (pow.f64 (sin.f64 re) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re)))) (/.f64 1 (+.f64 8 (pow.f64 (sin.f64 re) 3))))
(/.f64 (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))) (+.f64 8 (pow.f64 (sin.f64 re) 3)))
(/.f64 (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4) (+.f64 8 (pow.f64 (sin.f64 re) 3)))
(*.f64 (/.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (+.f64 (sin.f64 re) -2))
(*.f64 (+.f64 (sin.f64 re) -2) (/.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) -4)))
(/.f64 (+.f64 (sin.f64 re) -2) (fma.f64 (sin.f64 re) (sin.f64 re) -4))
(pow.f64 (+.f64 (sin.f64 re) 2) -1)
(/.f64 1 (+.f64 2 (sin.f64 re)))
(pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 1)
(/.f64 1 (+.f64 2 (sin.f64 re)))
(pow.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3) 1/3)
(/.f64 1 (+.f64 2 (sin.f64 re)))
(pow.f64 (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))) 3)
(/.f64 1 (+.f64 2 (sin.f64 re)))
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -1/2) 2)
(/.f64 1 (+.f64 2 (sin.f64 re)))
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) -2))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(log.f64 (exp.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)))))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(cbrt.f64 (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 2)) 3))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (/.f64 1 (+.f64 (sin.f64 re) 2))))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(exp.f64 (neg.f64 (log.f64 (+.f64 (sin.f64 re) 2))))
(/.f64 1 (+.f64 2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 re) 2))) 1)
(+.f64 2 (sin.f64 re))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) -2)) (/.f64 4 (+.f64 (sin.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) -2)) (/.f64 -4 (+.f64 (sin.f64 re) -2)))
(*.f64 (+.f64 (sin.f64 re) 2) 1)
(+.f64 2 (sin.f64 re))
(*.f64 1 (+.f64 (sin.f64 re) 2))
(+.f64 2 (sin.f64 re))
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2))
(+.f64 2 (sin.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) (cbrt.f64 (+.f64 (sin.f64 re) 2)))
(+.f64 2 (sin.f64 re))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) (sqrt.f64 (+.f64 (sin.f64 re) 2)))
(+.f64 2 (sin.f64 re))
(*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2)))))
(*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re))))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4))
(*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (/.f64 1 (+.f64 (sin.f64 re) -2)))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) 1) (+.f64 (sin.f64 re) -2))
(/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2))
(/.f64 (+.f64 (sin.f64 re) 2) 1)
(+.f64 2 (sin.f64 re))
(/.f64 1 (/.f64 1 (+.f64 (sin.f64 re) 2)))
(+.f64 2 (sin.f64 re))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))) (+.f64 8 (pow.f64 (sin.f64 re) 3))))
(*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re))))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) -2) (fma.f64 (sin.f64 re) (sin.f64 re) -4)))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) 1) (+.f64 (sin.f64 re) -2))
(/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2))
(/.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 2) (/.f64 1 (cbrt.f64 (+.f64 (sin.f64 re) 2))))
(+.f64 2 (sin.f64 re))
(/.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) (pow.f64 (+.f64 (sin.f64 re) 2) -1/2))
(/.f64 (sqrt.f64 (+.f64 2 (sin.f64 re))) (pow.f64 (+.f64 2 (sin.f64 re)) -1/2))
(/.f64 (neg.f64 (+.f64 (sin.f64 re) 2)) -1)
(+.f64 2 (sin.f64 re))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2))))
(*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re))))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) 2))))
(*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re))))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4))
(/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) 1) (+.f64 (sin.f64 re) -2))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 (sin.f64 re) 2)))))
(*.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 4 (*.f64 2 (sin.f64 re))))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (+.f64 4 (*.f64 (sin.f64 re) (-.f64 (sin.f64 re) 2))))
(/.f64 (+.f64 8 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2) 4))
(/.f64 (neg.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4)) (neg.f64 (+.f64 (sin.f64 re) -2)))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) 1) (+.f64 (sin.f64 re) -2))
(/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2))
(/.f64 (-.f64 4 (pow.f64 (sin.f64 re) 2)) (-.f64 2 (sin.f64 re)))
(/.f64 (*.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) 1) (+.f64 (sin.f64 re) -2))
(/.f64 (fma.f64 (sin.f64 re) (sin.f64 re) -4) (+.f64 (sin.f64 re) -2))
(pow.f64 (+.f64 (sin.f64 re) 2) 1)
(+.f64 2 (sin.f64 re))
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3) 1/3)
(+.f64 2 (sin.f64 re))
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) 2)) 3)
(+.f64 2 (sin.f64 re))
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) 2)) 2)
(+.f64 2 (sin.f64 re))
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 2))
(+.f64 2 (sin.f64 re))
(log.f64 (exp.f64 (+.f64 (sin.f64 re) 2)))
(+.f64 2 (sin.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 re) 2))))
(+.f64 2 (sin.f64 re))
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) 2) 3))
(+.f64 2 (sin.f64 re))
(expm1.f64 (log1p.f64 (+.f64 (sin.f64 re) 2)))
(+.f64 2 (sin.f64 re))
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) 2)))
(+.f64 2 (sin.f64 re))
(exp.f64 (log.f64 (+.f64 (sin.f64 re) 2)))
(+.f64 2 (sin.f64 re))
(fma.f64 1 (sin.f64 re) 2)
(+.f64 2 (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 2)
(+.f64 2 (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 2)
(+.f64 2 (sin.f64 re))

localize3.0ms (0%)

Compiler

Compiled 6 to 6 computations (0% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 7 computations (65% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite51.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
658×pow1_binary64
605×add-log-exp_binary64
605×log1p-expm1-u_binary64
605×expm1-log1p-u_binary64
593×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify48.0ms (0.5%)

Algorithm
egg-herbie
Rules
567×fma-def_binary64
492×log-prod_binary64
443×fma-neg_binary64
439×log-div_binary64
389×associate-*l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064609
1162609
2721609
32677609
46860609
Stop Event
node limit
Counts
72 → 31
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 im re))) 1)
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 im re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (*.f64 im re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im re) 3) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 1)
(pow.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2)) 1)
(pow.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))))
Outputs
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(-.f64 (+.f64 1 (*.f64 im (*.f64 im re))) 1)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 im re))) 2)
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 2))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im re)))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (*.f64 im re) 3)))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im re) 3) (pow.f64 im 3)))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(*.f64 im (*.f64 re im))
(*.f64 re (*.f64 im im))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 1)
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(pow.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2)) 1)
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(pow.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2)) 3) 1/3)
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 3)
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 2)
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (*.f64 im re)) 2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2)) 3))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im re) 1/2))))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sin.f64 re)
0.5b
(+.f64 (sin.f64 re) -1)
3.8b
(+.f64 (+.f64 (sin.f64 re) -1) 1)
Compiler

Compiled 17 to 11 computations (35.3% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(+.f64 (+.f64 (sin.f64 re) -1) 1)
0.0ms
re
@-inf
(+.f64 (sin.f64 re) -1)
0.0ms
re
@-inf
(+.f64 (+.f64 (sin.f64 re) -1) 1)
0.0ms
re
@0
(+.f64 (sin.f64 re) -1)
0.0ms
re
@inf
(+.f64 (sin.f64 re) -1)

rewrite50.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0712
11499
219399
Stop Event
node limit
Counts
2 → 71
Calls
Call 1
Inputs
(+.f64 (+.f64 (sin.f64 re) -1) 1)
(+.f64 (sin.f64 re) -1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 1 (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (+.f64 (sin.f64 re) -2)) (/.f64 1 (+.f64 (sin.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2)) (/.f64 1 (+.f64 (sin.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (+.f64 (sin.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2)) (+.f64 (sin.f64 re) -2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2))) (neg.f64 (+.f64 (sin.f64 re) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 re) 3) 0) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 0 (*.f64 (sin.f64 re) 0))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 2)) (-.f64 1 (+.f64 (sin.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 0) (-.f64 (sin.f64 re) 0))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sin.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sin.f64 re)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (sin.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (sin.f64 re) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (sin.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x sin.f64 re)))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 re) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (+.f64 (sin.f64 re) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (sin.f64 re) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sin.f64 re) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (sin.f64 re) -1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (/.f64 1 (+.f64 (sin.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) (-.f64 (sqrt.f64 (sin.f64 re)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))) (+.f64 -1 (pow.f64 (sin.f64 re) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (+.f64 (sin.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1)) (neg.f64 (+.f64 (sin.f64 re) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 1 (pow.f64 (sin.f64 re) 2)) (-.f64 -1 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) 1) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) 1) (+.f64 (sin.f64 re) 1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 (sin.f64 re) -1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (+.f64 (sin.f64 re) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sin.f64 re) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) -1)))))

simplify45.0ms (0.5%)

Algorithm
egg-herbie
Rules
652×fma-neg_binary64
506×cancel-sign-sub-inv_binary64
387×distribute-rgt-in_binary64
358×distribute-lft-in_binary64
348×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0166960
1399901
21641828
Stop Event
node limit
Counts
95 → 99
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
-1
(-.f64 re 1)
(-.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(-.f64 (/.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (+.f64 (sin.f64 re) -2)) (/.f64 1 (+.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) 1)
(*.f64 1 (sin.f64 re))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(*.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2)) (/.f64 1 (+.f64 (sin.f64 re) -2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3))))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (+.f64 (sin.f64 re) -1))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2)) (+.f64 (sin.f64 re) -2))
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2))) (neg.f64 (+.f64 (sin.f64 re) -2)))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) 0) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 0 (*.f64 (sin.f64 re) 0))))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 2)) (-.f64 1 (+.f64 (sin.f64 re) -1)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 0) (-.f64 (sin.f64 re) 0))
(pow.f64 (sin.f64 re) 1)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(sqrt.f64 (pow.f64 (sin.f64 re) 2))
(log.f64 (exp.f64 (sin.f64 re)))
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(fma.f64 1 (sin.f64 re) 0)
(fma.f64 1 (+.f64 (sin.f64 re) -1) 1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 0)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 0)
(fma.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1)
(-.f64 (sin.f64 re) 1)
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 (sin.f64 re) -1) 1)
(*.f64 1 (+.f64 (sin.f64 re) -1))
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) (-.f64 (sqrt.f64 (sin.f64 re)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))) (+.f64 -1 (pow.f64 (sin.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (+.f64 (sin.f64 re) 1))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1)) (neg.f64 (+.f64 (sin.f64 re) 1)))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 2)) (-.f64 -1 (sin.f64 re)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) 1) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) 1) (+.f64 (sin.f64 re) 1))
(pow.f64 (+.f64 (sin.f64 re) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 3)
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 2)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3) 1/3)
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3))
(expm1.f64 (log.f64 (sin.f64 re)))
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) -1)))
(exp.f64 (log.f64 (+.f64 (sin.f64 re) -1)))
(fma.f64 1 (sin.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) -1)
Outputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re)) (*.f64 -1/5040 (pow.f64 re 7)))
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
(sin.f64 re)
-1
(-.f64 re 1)
(+.f64 re -1)
(-.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) 1)
(+.f64 re (-.f64 (*.f64 -1/6 (pow.f64 re 3)) 1))
(+.f64 re (fma.f64 -1/6 (pow.f64 re 3) -1))
(-.f64 (+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) 1)
(+.f64 (fma.f64 1/120 (pow.f64 re 5) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) -1)
(+.f64 (fma.f64 1/120 (pow.f64 re 5) (fma.f64 -1/6 (pow.f64 re 3) re)) -1)
(+.f64 (fma.f64 1/120 (pow.f64 re 5) re) (fma.f64 -1/6 (pow.f64 re 3) -1))
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(sin.f64 re)
(-.f64 (/.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (+.f64 (sin.f64 re) -2)) (/.f64 1 (+.f64 (sin.f64 re) -2)))
(+.f64 (/.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (+.f64 (sin.f64 re) -2)) (/.f64 -1 (+.f64 (sin.f64 re) -2)))
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(*.f64 1 (sin.f64 re))
(sin.f64 re)
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2))
(sin.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)))
(sin.f64 re)
(*.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 2 (sin.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (fma.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -2) 1))
(*.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2)) (/.f64 1 (+.f64 (sin.f64 re) -2)))
(sin.f64 re)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1))) (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 2 (sin.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (fma.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -2) 1))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2))))
(sin.f64 re)
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 2 (sin.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (fma.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -2) 1))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 1 (-.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (+.f64 (sin.f64 re) -1))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 2 (sin.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (fma.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -2) 1))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2)) (+.f64 (sin.f64 re) -2))
(sin.f64 re)
(/.f64 (neg.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3))) (neg.f64 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(*.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (/.f64 1 (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 1 (+.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (+.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) (-.f64 2 (sin.f64 re))))
(/.f64 (+.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) (fma.f64 (+.f64 (sin.f64 re) -1) (+.f64 (sin.f64 re) -2) 1))
(/.f64 (neg.f64 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) -2))) (neg.f64 (+.f64 (sin.f64 re) -2)))
(sin.f64 re)
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) 0) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 0 (*.f64 (sin.f64 re) 0))))
(sin.f64 re)
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 2)) (-.f64 1 (+.f64 (sin.f64 re) -1)))
(/.f64 (-.f64 1 (pow.f64 (+.f64 (sin.f64 re) -1) 2)) (-.f64 2 (sin.f64 re)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 0) (-.f64 (sin.f64 re) 0))
(sin.f64 re)
(pow.f64 (sin.f64 re) 1)
(sin.f64 re)
(pow.f64 (cbrt.f64 (sin.f64 re)) 3)
(sin.f64 re)
(pow.f64 (sqrt.f64 (sin.f64 re)) 2)
(sin.f64 re)
(pow.f64 (pow.f64 (sin.f64 re) 3) 1/3)
(sin.f64 re)
(sqrt.f64 (pow.f64 (sin.f64 re) 2))
(sin.f64 re)
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(cbrt.f64 (pow.f64 (sin.f64 re) 3))
(sin.f64 re)
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)
(fma.f64 1 (sin.f64 re) 0)
(sin.f64 re)
(fma.f64 1 (+.f64 (sin.f64 re) -1) 1)
(sin.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) 0)
(sin.f64 re)
(fma.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1)
(sin.f64 re)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) 0)
(sin.f64 re)
(fma.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1)
(sin.f64 re)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) -1)
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 -1 (+.f64 (sin.f64 re) 1)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 -1 (sin.f64 re)))
(*.f64 (+.f64 (sin.f64 re) -1) 1)
(+.f64 (sin.f64 re) -1)
(*.f64 1 (+.f64 (sin.f64 re) -1))
(+.f64 (sin.f64 re) -1)
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1))
(+.f64 (sin.f64 re) -1)
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1))
(+.f64 (sin.f64 re) -1)
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) (sin.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 1))))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 -1 (+.f64 (sin.f64 re) 1)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 -1 (sin.f64 re)))
(*.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) (-.f64 (sqrt.f64 (sin.f64 re)) 1))
(+.f64 (sin.f64 re) -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))) (+.f64 -1 (pow.f64 (sin.f64 re) 3))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) (sin.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 1))))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 -1 (+.f64 (sin.f64 re) 1)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 -1 (sin.f64 re)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) (sin.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) (sin.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (+.f64 (sin.f64 re) 1))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 -1 (+.f64 (sin.f64 re) 1)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 -1 (sin.f64 re)))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) (sin.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1)) (neg.f64 (+.f64 (sin.f64 re) 1)))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 -1 (+.f64 (sin.f64 re) 1)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 -1 (sin.f64 re)))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 2)) (-.f64 -1 (sin.f64 re)))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 -1 (+.f64 (sin.f64 re) 1)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 -1 (sin.f64 re)))
(/.f64 (*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) 1) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (fma.f64 (sin.f64 re) (sin.f64 re) (sin.f64 re))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 1))))
(/.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) 1) (+.f64 (sin.f64 re) 1))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(+.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 -1 (+.f64 (sin.f64 re) 1)))
(/.f64 (*.f64 (cos.f64 re) (cos.f64 re)) (-.f64 -1 (sin.f64 re)))
(pow.f64 (+.f64 (sin.f64 re) -1) 1)
(+.f64 (sin.f64 re) -1)
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 3)
(+.f64 (sin.f64 re) -1)
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 2)
(+.f64 (sin.f64 re) -1)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3) 1/3)
(+.f64 (sin.f64 re) -1)
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2))
(+.f64 (sin.f64 re) -1)
(log.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3))
(+.f64 (sin.f64 re) -1)
(expm1.f64 (log.f64 (sin.f64 re)))
(+.f64 (sin.f64 re) -1)
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(exp.f64 (log.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(fma.f64 1 (sin.f64 re) -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) -1)
(+.f64 (sin.f64 re) -1)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
0.0b
(/.f64 re (exp.f64 im))
0.2b
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
Compiler

Compiled 29 to 8 computations (72.4% saved)

series14.0ms (0.2%)

Counts
3 → 52
Calls

18 calls:

TimeVariablePointExpression
5.0ms
re
@0
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
1.0ms
re
@-inf
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
1.0ms
re
@inf
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
1.0ms
im
@-inf
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
1.0ms
im
@inf
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))

rewrite50.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify67.0ms (0.8%)

Algorithm
egg-herbie
Rules
523×distribute-rgt-in_binary64
509×unswap-sqr_binary64
486×distribute-lft-in_binary64
312×fma-neg_binary64
299×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02231870
16191646
225751502
Stop Event
node limit
Counts
118 → 128
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (+.f64 (*.f64 -1/6 re) (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) re))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 3))) re)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 2 re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))) (*.f64 -1 (+.f64 (*.f64 1/6 re) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))))) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (*.f64 (*.f64 re (exp.f64 im)) 1/2) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(+.f64 (*.f64 1/2 (*.f64 re (exp.f64 im))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))) 1)
(pow.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 2)))
(log.f64 (pow.f64 (exp.f64 1/2) (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))))
(exp.f64 (log.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))))
(-.f64 (+.f64 1 (/.f64 re (exp.f64 im))) 1)
(*.f64 re (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 re (exp.f64 im)) 1)
(*.f64 1 (/.f64 re (exp.f64 im)))
(*.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (cbrt.f64 (/.f64 re (exp.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 (neg.f64 im))))
(*.f64 (sqrt.f64 (/.f64 re (exp.f64 im))) (sqrt.f64 (/.f64 re (exp.f64 im))))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 (neg.f64 im))))
(*.f64 (neg.f64 re) (/.f64 1 (neg.f64 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) re)
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (exp.f64 im)))
(*.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (exp.f64 im)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 re (cbrt.f64 (exp.f64 im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (/.f64 re (exp.f64 im))))
(*.f64 (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 re (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 (exp.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 (exp.f64 im))))
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(pow.f64 (pow.f64 (/.f64 re (exp.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 3)
(pow.f64 (sqrt.f64 (/.f64 re (exp.f64 im))) 2)
(pow.f64 (/.f64 (exp.f64 im) re) -1)
(neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))
(sqrt.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2))
(log.f64 (exp.f64 (/.f64 re (exp.f64 im))))
(cbrt.f64 (pow.f64 (/.f64 re (exp.f64 im)) 3))
(cbrt.f64 (/.f64 (pow.f64 re 3) (pow.f64 (exp.f64 im) 3)))
(expm1.f64 (log1p.f64 (/.f64 re (exp.f64 im))))
(log1p.f64 (expm1.f64 (/.f64 re (exp.f64 im))))
(exp.f64 (-.f64 (log.f64 re) im))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(+.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im)))
(+.f64 (*.f64 (*.f64 re (exp.f64 im)) 1) (/.f64 re (exp.f64 im)))
(-.f64 (+.f64 1 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 1)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 1)
(*.f64 1 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) (sqrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im))) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))))))
(/.f64 (-.f64 (*.f64 (*.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))))
(pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 1)
(pow.f64 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 3) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 3)
(pow.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 2)
(sqrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 2))
(log.f64 (exp.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(cbrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 3))
(expm1.f64 (log1p.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(log1p.f64 (expm1.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(exp.f64 (log.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
Outputs
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 -1/2 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) re)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2))) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re))
(+.f64 (*.f64 (pow.f64 im 3) 0) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re))
(+.f64 (*.f64 -1/2 (*.f64 (+.f64 (*.f64 -1 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (+.f64 (*.f64 -1/6 re) (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/2 (*.f64 (fma.f64 -1 (fma.f64 -1/2 re (fma.f64 1/6 re (neg.f64 (*.f64 re -1/2)))) (fma.f64 -1/6 re (*.f64 -1/2 (*.f64 re -1/2)))) (pow.f64 im 4)) (fma.f64 -1/2 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 4) (-.f64 (fma.f64 re -1/6 (*.f64 re 1/4)) (+.f64 (*.f64 1/2 re) (*.f64 re -1/3)))) (fma.f64 -1/2 (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2))) (fma.f64 1/2 (*.f64 im (*.f64 im re)) re)))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im re)) re) (fma.f64 (*.f64 -1/2 (fma.f64 re -1/6 (*.f64 re 1/12))) (pow.f64 im 4) (*.f64 (pow.f64 im 3) 0)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(fma.f64 -1 (*.f64 im re) re)
(fma.f64 (neg.f64 re) im re)
(-.f64 re (*.f64 im re))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) re))
(fma.f64 -1 (*.f64 im re) (fma.f64 -1 (*.f64 (*.f64 im im) (*.f64 re -1/2)) re))
(-.f64 (fma.f64 1/2 (*.f64 im (*.f64 im re)) re) (*.f64 im re))
(-.f64 re (*.f64 im (+.f64 re (*.f64 (*.f64 re -1/2) im))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 3))) re)))
(fma.f64 -1 (*.f64 im re) (fma.f64 -1 (*.f64 (*.f64 im im) (*.f64 re -1/2)) (fma.f64 -1 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (fma.f64 1/6 re (neg.f64 (*.f64 re -1/2))))) re)))
(-.f64 (fma.f64 (*.f64 1/2 re) (*.f64 im im) (-.f64 re (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/2 re) (*.f64 re -1/3))))) (*.f64 im re))
(-.f64 (fma.f64 (*.f64 re -1/6) (pow.f64 im 3) re) (*.f64 im (+.f64 re (*.f64 (*.f64 re -1/2) im))))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(fma.f64 re (*.f64 im im) (*.f64 re 2))
(*.f64 re (+.f64 (*.f64 im im) 2))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re)))
(fma.f64 re (*.f64 im im) (fma.f64 -1 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (*.f64 re 2)))
(fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2)))))
(fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) 0)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))) (*.f64 -1 (+.f64 (*.f64 1/6 re) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))))) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re))))
(fma.f64 -1 (*.f64 (pow.f64 im 4) (fma.f64 -1/6 re (fma.f64 -1/2 (*.f64 re -1/2) (neg.f64 (fma.f64 1/6 re (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))))))) (fma.f64 re (*.f64 im im) (fma.f64 -1 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (*.f64 re 2))))
(-.f64 (fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2))))) (*.f64 (pow.f64 im 4) (-.f64 (fma.f64 re -1/6 (*.f64 re 1/4)) (+.f64 (*.f64 1/2 re) (*.f64 re -1/3)))))
(-.f64 (fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) 0))) (*.f64 (pow.f64 im 4) (fma.f64 re -1/6 (*.f64 re 1/12))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (*.f64 (*.f64 re (exp.f64 im)) 1/2) (*.f64 (/.f64 re (exp.f64 im)) 1/2))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(+.f64 (*.f64 1/2 (*.f64 re (exp.f64 im))) (*.f64 1/2 (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))) 1)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(pow.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(pow.f64 (pow.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 3) 1/3)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(pow.f64 (cbrt.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))) 3)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))) 2)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(sqrt.f64 (*.f64 1/4 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 2)))
(sqrt.f64 (*.f64 1/4 (pow.f64 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))) 2)))
(fabs.f64 (*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))))
(log.f64 (pow.f64 (exp.f64 1/2) (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 3))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(-.f64 (+.f64 1 (/.f64 re (exp.f64 im))) 1)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 re (exp.f64 (neg.f64 im)))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (/.f64 re (exp.f64 im)) 1)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 1 (/.f64 re (exp.f64 im)))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (cbrt.f64 (/.f64 re (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 (neg.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (sqrt.f64 (/.f64 re (exp.f64 im))) (sqrt.f64 (/.f64 re (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 (neg.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (neg.f64 re) (/.f64 1 (neg.f64 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (exp.f64 (neg.f64 im)) re)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (exp.f64 im)))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (exp.f64 im)))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 re (cbrt.f64 (exp.f64 im))))
(/.f64 (/.f64 re (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (/.f64 re (exp.f64 im))))
(*.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) (/.f64 (pow.f64 (cbrt.f64 re) 2) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)))
(/.f64 (*.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 re) 2)) (pow.f64 (cbrt.f64 (exp.f64 im)) 2))
(*.f64 (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 re (cbrt.f64 (exp.f64 im))))
(/.f64 (/.f64 re (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2))
(*.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 re (sqrt.f64 (exp.f64 im))))
(/.f64 (/.f64 re (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 (exp.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 re (sqrt.f64 (exp.f64 im))))
(/.f64 (/.f64 re (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(pow.f64 (/.f64 re (exp.f64 im)) 1)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(pow.f64 (pow.f64 (/.f64 re (exp.f64 im)) 3) 1/3)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 3)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(pow.f64 (sqrt.f64 (/.f64 re (exp.f64 im))) 2)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(pow.f64 (/.f64 (exp.f64 im) re) -1)
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(neg.f64 (/.f64 re (neg.f64 (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(sqrt.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(log.f64 (exp.f64 (/.f64 re (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(cbrt.f64 (pow.f64 (/.f64 re (exp.f64 im)) 3))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(cbrt.f64 (/.f64 (pow.f64 re 3) (pow.f64 (exp.f64 im) 3)))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(expm1.f64 (log1p.f64 (/.f64 re (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(log1p.f64 (expm1.f64 (/.f64 re (exp.f64 im))))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(exp.f64 (-.f64 (log.f64 re) im))
(+.f64 1 (-.f64 (/.f64 re (exp.f64 im)) 1))
(+.f64 (/.f64 re (exp.f64 im)) 0)
(/.f64 re (exp.f64 im))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 (*.f64 (*.f64 re (exp.f64 im)) 1) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(-.f64 (+.f64 1 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 1)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 1)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 1 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 2))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) (sqrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (*.f64 (*.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im))) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 re (exp.f64 im)) 3) (pow.f64 (*.f64 (exp.f64 im) re) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (*.f64 (exp.f64 im) re) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 re (*.f64 (exp.f64 im) (/.f64 re (exp.f64 im)))))))
(/.f64 (+.f64 (pow.f64 (/.f64 re (exp.f64 im)) 3) (pow.f64 (*.f64 (exp.f64 im) re) 3)) (fma.f64 re (*.f64 (exp.f64 (+.f64 im im)) re) (*.f64 (/.f64 re (exp.f64 im)) (-.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))))
(/.f64 (+.f64 (pow.f64 (/.f64 re (exp.f64 im)) 3) (pow.f64 (*.f64 (exp.f64 im) re) 3)) (+.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 (*.f64 (exp.f64 im) re) (*.f64 re (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(/.f64 (-.f64 (*.f64 (*.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))))
(/.f64 (-.f64 (*.f64 (*.f64 (exp.f64 im) re) (*.f64 (exp.f64 im) re)) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))))
(/.f64 (-.f64 (*.f64 re (*.f64 (exp.f64 (+.f64 im im)) re)) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))))
(/.f64 (-.f64 (*.f64 re (*.f64 re (exp.f64 (+.f64 im im)))) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (*.f64 re (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 1)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(pow.f64 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 3) 1/3)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 3)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(pow.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))) 2)
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(sqrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 2))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(log.f64 (exp.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(cbrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))) 3))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(expm1.f64 (log1p.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(log1p.f64 (expm1.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(exp.f64 (log.f64 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))

eval177.0ms (2%)

Compiler

Compiled 8509 to 5075 computations (40.4% saved)

prune98.0ms (1.1%)

Pruning

18 alts after pruning (7 fresh and 11 done)

PrunedKeptTotal
New5144518
Fresh134
Picked101
Done11112
Total51718535
Error
0b
Counts
535 → 18
Alt Table
Click to see full alt table
StatusErrorProgram
13.5b
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 0) (-.f64 (sin.f64 re) 0))
60.1b
(-.f64 (+.f64 re 1) 1)
29.5b
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
61.3b
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 1)
61.3b
(-.f64 1 1)
29.8b
(+.f64 (+.f64 (sin.f64 re) -1) 1)
0.7b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
31.6b
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
0.7b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
31.6b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
0.4b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.0b
(*.f64 re (*.f64 (*.f64 im im) 1/2))
31.1b
(*.f64 re (cosh.f64 im))
31.1b
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
60.9b
(*.f64 1/2 (*.f64 im (*.f64 re im)))
1.3b
(sin.f64 re)
32.0b
re
Compiler

Compiled 183 to 135 computations (26.2% saved)

regimes83.0ms (0.9%)

Counts
27 → 1
Calls
Call 1
Inputs
re
(-.f64 1 1)
(-.f64 (+.f64 re 1) 1)
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 1)
(sin.f64 re)
(*.f64 re (cosh.f64 im))
(+.f64 (+.f64 (sin.f64 re) -1) 1)
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 0) (-.f64 (sin.f64 re) 0))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (/.f64 1 (+.f64 (sin.f64 re) 2)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 1/2 (sin.f64 re)))))
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Calls

6 calls:

21.0ms
(*.f64 1/2 (sin.f64 re))
15.0ms
re
13.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
12.0ms
(sin.f64 re)
12.0ms
im
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.0b1(*.f64 1/2 (sin.f64 re))
0.0b1(sin.f64 re)
0.0b1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 297 to 176 computations (40.7% saved)

regimes100.0ms (1.1%)

Counts
25 → 1
Calls
Call 1
Inputs
re
(-.f64 1 1)
(-.f64 (+.f64 re 1) 1)
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 1)
(sin.f64 re)
(*.f64 re (cosh.f64 im))
(+.f64 (+.f64 (sin.f64 re) -1) 1)
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) 0) (-.f64 (sin.f64 re) 0))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 (+.f64 (sin.f64 re) 2) (sin.f64 re)) (/.f64 1 (+.f64 (sin.f64 re) 2)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

42.0ms
im
13.0ms
re
12.0ms
(*.f64 1/2 (sin.f64 re))
12.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
12.0ms
(sin.f64 re)
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
0.0b1(*.f64 1/2 (sin.f64 re))
0.0b1(sin.f64 re)
0.0b1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 260 to 154 computations (40.8% saved)

regimes77.0ms (0.9%)

Counts
21 → 1
Calls
Call 1
Inputs
re
(-.f64 1 1)
(-.f64 (+.f64 re 1) 1)
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 1)
(sin.f64 re)
(*.f64 re (cosh.f64 im))
(+.f64 (+.f64 (sin.f64 re) -1) 1)
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
Calls

4 calls:

41.0ms
(*.f64 1/2 (sin.f64 re))
11.0ms
re
11.0ms
(sin.f64 re)
9.0ms
im
Results
ErrorSegmentsBranch
0.4b1re
0.4b1im
0.4b1(*.f64 1/2 (sin.f64 re))
0.4b1(sin.f64 re)
Compiler

Compiled 189 to 110 computations (41.8% saved)

regimes33.0ms (0.4%)

Counts
19 → 1
Calls
Call 1
Inputs
re
(-.f64 1 1)
(-.f64 (+.f64 re 1) 1)
(*.f64 1/2 (*.f64 im (*.f64 re im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 (*.f64 im im) 1/2))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im re) 1/2))) 1)
(sin.f64 re)
(*.f64 re (cosh.f64 im))
(+.f64 (+.f64 (sin.f64 re) -1) 1)
(-.f64 (+.f64 1 (sin.f64 re)) 1)
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
Outputs
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
Calls

3 calls:

10.0ms
(sin.f64 re)
10.0ms
im
9.0ms
re
Results
ErrorSegmentsBranch
0.7b1re
0.7b1im
0.7b1(sin.f64 re)
Compiler

Compiled 157 to 92 computations (41.4% saved)

regimes59.0ms (0.7%)

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

3 calls:

40.0ms
im
8.0ms
(sin.f64 re)
8.0ms
re
Results
ErrorSegmentsBranch
0.7b1re
0.7b1im
0.7b1(sin.f64 re)
Compiler

Compiled 120 to 72 computations (40% saved)

regimes26.0ms (0.3%)

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

3 calls:

8.0ms
re
7.0ms
(sin.f64 re)
7.0ms
im
Results
ErrorSegmentsBranch
1.3b1re
1.3b1im
1.3b1(sin.f64 re)
Compiler

Compiled 89 to 55 computations (38.2% saved)

regimes13.0ms (0.2%)

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

2 calls:

6.0ms
re
5.0ms
im
Results
ErrorSegmentsBranch
31.6b1re
31.6b1im
Compiler

Compiled 67 to 41 computations (38.8% saved)

regimes14.0ms (0.2%)

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

2 calls:

8.0ms
re
5.0ms
im
Results
ErrorSegmentsBranch
31.6b1re
31.6b1im
Compiler

Compiled 47 to 29 computations (38.3% saved)

regimes10.0ms (0.1%)

Accuracy

Total -29.7b remaining (-93%)

Threshold costs -29.7b (-93%)

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

2 calls:

4.0ms
im
4.0ms
re
Results
ErrorSegmentsBranch
32.0b1re
32.0b1im
Compiler

Compiled 38 to 24 computations (36.8% saved)

simplify7.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
034121
157121
259121
360121
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(sin.f64 re)
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
re
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (sin.f64 re) 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 (*.f64 (sin.f64 re) 1/2) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
(sin.f64 re)
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 im im) (*.f64 re 1/2)))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) re)
(*.f64 re (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
re
Compiler

Compiled 98 to 70 computations (28.6% saved)

soundness152.0ms (1.7%)

Algorithm
egg-herbie
Rules
784×unswap-sqr_binary64
582×fma-def_binary64
476×fabs-mul_binary64
425×associate-/r*_binary64
357×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01218
12818
27118
314017
418517
525217
642917
7111617
8328817
9367117
10416217
11579617
12678817
Stop Event
node limit
Compiler

Compiled 147 to 113 computations (23.1% saved)

end88.0ms (1%)

Compiler

Compiled 82 to 44 computations (46.3% saved)

Profiling

Loading profile data...