Details

Time bar (total: 7.1s)

analyze180.0ms (2.5%)

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.1s (57%)

Results
1.3s2090×body1024valid
906.0ms5142×body256valid
895.0ms2022×body1024infinite
350.0ms1018×body512valid
325.0ms1592×body256infinite
296.0ms1064×body512infinite
8.0msbody2048valid
Bogosity

preprocess71.0ms (1%)

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)

simplify72.0ms (1%)

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 3 expressions with local error:

NewErrorProgram
0.0b
(/.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
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
Compiler

Compiled 32 to 16 computations (50% saved)

series31.0ms (0.4%)

Counts
3 → 0
Calls

12 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
1.0ms
im
@-inf
(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
@inf
(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))))
Compiler

Compiled 3055 to 1985 computations (35% saved)

rewrite58.0ms (0.8%)

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
0935
118235
2217135
Stop Event
node limit
Counts
3 → 57
Calls
Call 1
Inputs
(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 1/2 (exp.f64 im))
Outputs
((#(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 (*.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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 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 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 expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))))))
((#(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))))))

simplify51.0ms (0.7%)

Algorithm
egg-herbie
Rules
526×fma-neg_binary64
524×unswap-sqr_binary64
484×fma-def_binary64
368×log-prod_binary64
204×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0128828
1296760
21232702
35772688
Stop Event
node limit
Counts
57 → 70
Calls
Call 1
Inputs
(+.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 (*.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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 1)
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 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)))
(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)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(-.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))
Outputs
(+.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 (pow.f64 (*.f64 1/2 (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 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (-.f64 (/.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) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (-.f64 (pow.f64 (*.f64 (exp.f64 im) 2) -2) (*.f64 (exp.f64 im) (-.f64 (/.f64 1/4 (exp.f64 im)) (*.f64 (exp.f64 im) 1/4)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) -1/4)))
(/.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))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.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 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 1)
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 1)
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3) 1/3)
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 3)
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 2)
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 2))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(log.f64 (pow.f64 (exp.f64 (sin.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))) (sin.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(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 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
(-.f64 (+.f64 1 (/.f64 1/2 (exp.f64 im))) 1)
(+.f64 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 (exp.f64 im) 2) -2))
(fabs.f64 (/.f64 1/2 (exp.f64 im)))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.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 1 (-.f64 (/.f64 1/2 (exp.f64 im)) 1))
(+.f64 (/.f64 1/2 (exp.f64 im)) 0)
(/.f64 1/2 (exp.f64 im))

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series39.0ms (0.5%)

Counts
2 → 0
Calls

9 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
(*.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
@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
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 2245 to 930 computations (58.6% saved)

rewrite56.0ms (0.8%)

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
2378428
0610
112610
2208210
0610
01118
123318
2378018
01118
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 19
Calls
Call 1
Inputs
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(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))))))))
((#(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))))))))))

simplify50.0ms (0.7%)

Algorithm
egg-herbie
Rules
914×fma-def_binary64
406×times-frac_binary64
364×associate-+l+_binary64
313×associate-/l*_binary64
311×associate-+r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062289
1176279
2732266
32668266
47422266
Stop Event
node limit
Counts
19 → 28
Calls
Call 1
Inputs
(*.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))))
(+.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))))))
Outputs
(*.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.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 (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 (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 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (fma.f64 (exp.f64 (neg.f64 im)) (exp.f64 (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)) (fma.f64 (exp.f64 im) (exp.f64 im) -1)))
(/.f64 (+.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (expm1.f64 (+.f64 im im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) -3) (pow.f64 (exp.f64 3) im)) (+.f64 (pow.f64 (exp.f64 -2) im) (expm1.f64 (+.f64 im im))))
(/.f64 (+.f64 (pow.f64 (exp.f64 -3) im) (pow.f64 (exp.f64 3) im)) (+.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 (neg.f64 im)) (exp.f64 im))
(pow.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log.f64 (exp.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.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))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(expm1.f64 (log1p.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (exp.f64 (neg.f64 im)) (exp.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))

eval28.0ms (0.4%)

Compiler

Compiled 1666 to 850 computations (49% saved)

prune18.0ms (0.3%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New96298
Fresh000
Picked011
Done101
Total973100
Error
0.0b
Counts
100 → 3
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) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))
20.4b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
Compiler

Compiled 43 to 32 computations (25.6% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))
0.0b
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
0.4b
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3)
20.4b
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
Compiler

Compiled 60 to 32 computations (46.7% saved)

series241.0ms (3.4%)

Counts
3 → 0
Calls

18 calls:

TimeVariablePointExpression
7.0ms
re
@0
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
6.0ms
re
@inf
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
5.0ms
im
@-inf
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
4.0ms
im
@0
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
3.0ms
im
@inf
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
Compiler

Compiled 22630 to 15350 computations (32.2% saved)

rewrite65.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
505×log-prod_binary64
379×exp-prod_binary64
360×prod-exp_binary64
315×pow-prod-down_binary64
279×pow2_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01254
125354
2275145
Stop Event
node limit
Counts
3 → 146
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3)
(*.f64 (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 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))) (#(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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2)) (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (log.f64 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (log.f64 (sin.f64 re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.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 fma.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 0 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (*.f64 (sin.f64 re) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 5/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3) (pow.f64 (sin.f64 re) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 5/2) (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) (*.f64 3 (log.f64 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (*.f64 (log.f64 (sin.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) (*.f64 (log.f64 (sin.f64 re)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 3) (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 3 (log.f64 (sin.f64 re))) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 3) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))) (#(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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6) 1/6)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9) 1/9)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) 3/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) 2/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1/3) (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (log.f64 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (log.f64 (sin.f64 re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.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 fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))))))

simplify75.0ms (1.1%)

Algorithm
egg-herbie
Rules
719×fma-def_binary64
472×distribute-rgt-in_binary64
439×distribute-lft-in_binary64
316×*-commutative_binary64
264×exp-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02492176
15551676
216421656
377311656
Stop Event
node limit
Counts
146 → 133
Calls
Call 1
Inputs
(+.f64 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(+.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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(*.f64 1 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2)) (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9) 1/9)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) 3/2)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) 2/3)
(pow.f64 (exp.f64 1/3) (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) 3/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1/3))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(+.f64 0 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))) 1)
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (*.f64 (sin.f64 re) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1)
(*.f64 1 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 5/2))
(*.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3) (pow.f64 (sin.f64 re) 3))
(*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3))
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2))
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 5/2) (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re))
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(*.f64 (pow.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))
(exp.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3/2))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 3))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) 2))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1)))
(exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) (*.f64 3 (log.f64 (sin.f64 re)))))
(exp.f64 (+.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (*.f64 (log.f64 (sin.f64 re)) 3)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) (*.f64 (log.f64 (sin.f64 re)) 3)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 3) (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))
(exp.f64 (+.f64 (*.f64 3 (log.f64 (sin.f64 re))) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 3) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))
(exp.f64 (+.f64 (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2)))
(+.f64 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(+.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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)
(pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9) 1/9)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) 3/2)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) 2/3)
(pow.f64 (exp.f64 1/3) (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) 3/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1/3))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
Outputs
(+.f64 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(+.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) (+.f64 (*.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 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (fabs.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (/.f64 (cosh.f64 im) 1)))))
(*.f64 2 (*.f64 (cosh.f64 im) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 1 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1 (cosh.f64 im)) (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cosh.f64 im) (cbrt.f64 (sin.f64 re))))
(*.f64 (cosh.f64 im) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1 (cosh.f64 im)) (cbrt.f64 (sin.f64 re))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cosh.f64 im) (cbrt.f64 (sin.f64 re))))
(*.f64 (cosh.f64 im) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2)) (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9) 1/9)
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 9) 1/18) (pow.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 9) 1/18))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 9) 1/18) (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 9) 1/18))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) 3/2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) 2/3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (exp.f64 1/3) (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (fabs.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (/.f64 (cosh.f64 im) 1)))))
(*.f64 2 (*.f64 (cosh.f64 im) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) 3/2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1/3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (log.f64 (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.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))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 (*.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 0 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3))) 2)) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))) 1)
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (*.f64 (sin.f64 re) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1)
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 1 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 5/2))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 5/2))
(*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 5/2))
(*.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3) (pow.f64 (sin.f64 re) 3))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 5/2) (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))) (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 5/2))
(*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 5/2))
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sin.f64 re))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) (sin.f64 re)) (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1) (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(log.f64 (exp.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9)) 1/3))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3/2))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 3))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 3))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) 2))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) (*.f64 3 (log.f64 (sin.f64 re)))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) (*.f64 (log.f64 (sin.f64 re)) 3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3) (*.f64 (log.f64 (sin.f64 re)) 3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 3) (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 3 (log.f64 (sin.f64 re))) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 3) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 3/2 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2) (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3/2)))
(pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 3)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(+.f64 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(+.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) (+.f64 (*.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 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (fabs.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (/.f64 (cosh.f64 im) 1)))))
(*.f64 2 (*.f64 (cosh.f64 im) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 6) 1/6)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 9) 1/9)
(*.f64 (pow.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 9) 1/18) (pow.f64 (pow.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)) 9) 1/18))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 9) 1/18) (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 9) 1/18))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2) 3/2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3/2) 2/3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (exp.f64 1/3) (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (fabs.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (/.f64 (cosh.f64 im) 1)))))
(*.f64 2 (*.f64 (cosh.f64 im) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))) 3/2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1) 1/3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (log.f64 (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.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))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 (*.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))))

localize17.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 38 to 20 computations (47.4% saved)

series22.0ms (0.3%)

Counts
2 → 0
Calls

9 calls:

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

Compiled 2885 to 1845 computations (36% saved)

rewrite64.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
550×log-prod_binary64
381×pow-prod-down_binary64
338×fma-def_binary64
290×pow2_binary64
203×pow1/3_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify87.0ms (1.2%)

Algorithm
egg-herbie
Rules
633×fma-def_binary64
375×unswap-sqr_binary64
292×distribute-rgt-in_binary64
274×distribute-lft-in_binary64
257×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03012668
17722294
221552220
Stop Event
node limit
Counts
127 → 170
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 1)
(-.f64 (/.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 2 (cosh.f64 im)))
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 1)
(*.f64 1 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))))
(/.f64 1 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (-.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/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (neg.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (neg.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))) -1)
(pow.f64 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) -1)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 2))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (exp.f64 (exp.f64 im)))))
(log.f64 (*.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))) (+.f64 1 (expm1.f64 (*.f64 1/2 (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))) (+.f64 1 (expm1.f64 (*.f64 1/2 (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (exp.f64 im)))) (exp.f64 (/.f64 1/2 (exp.f64 im)))))
(log.f64 (*.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (exp.f64 im)))) (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) 1))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 (neg.f64 im)) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) 1 (*.f64 1/2 (exp.f64 im)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 (/.f64 1/2 (exp.f64 im)))
(fma.f64 1 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) (/.f64 1/2 (exp.f64 im)))
(fma.f64 -1/2 (/.f64 1 (neg.f64 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) 1/2 (*.f64 1/2 (exp.f64 im)))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(+.f64 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 1) (*.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 3) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 3)) (+.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 2) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 2)) (-.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))))
(/.f64 (*.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (sin.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (sin.f64 re) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (exp.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))
(fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 1 (*.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) 2) (cbrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (sqrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (sin.f64 re) 1/2) (exp.f64 im) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) 1/2) (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (sin.f64 re) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (sin.f64 re) (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (*.f64 (sin.f64 re) (exp.f64 im)) 1/2 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
Outputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 1)
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(-.f64 (/.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (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 1/2 (*.f64 2 (cosh.f64 im)))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 1)
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(*.f64 1 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(*.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 (exp.f64 im) (+.f64 (*.f64 1/4 (exp.f64 im)) (/.f64 -1/4 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(*.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))))
(*.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 (exp.f64 im) (+.f64 (*.f64 1/4 (exp.f64 im)) (/.f64 -1/4 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 1 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(/.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(*.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 (exp.f64 im) (+.f64 (*.f64 1/4 (exp.f64 im)) (/.f64 -1/4 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (exp.f64 (+.f64 im im)) (-.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))) (*.f64 (exp.f64 im) (/.f64 1/4 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 1/4 (exp.f64 (+.f64 im im)) (fma.f64 (/.f64 -1/4 (exp.f64 im)) (exp.f64 im) (/.f64 1/4 (exp.f64 (+.f64 im im))))))
(/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(/.f64 (neg.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))) (neg.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(*.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 (exp.f64 im) (+.f64 (*.f64 1/4 (exp.f64 im)) (/.f64 -1/4 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 (neg.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (neg.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.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))) (-.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))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 1)
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 2) 1/2)
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3) 1/3)
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 3)
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 2)
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(pow.f64 (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))) -1)
(*.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (/.f64 1 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 (exp.f64 im) (+.f64 (*.f64 1/4 (exp.f64 im)) (/.f64 -1/4 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im)))))
(pow.f64 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) -1)
(/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2))
(/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 2))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (exp.f64 (exp.f64 im)))))
(+.f64 (log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im)))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))))
(+.f64 (/.f64 1/2 (exp.f64 im)) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))))
(log.f64 (*.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))) (+.f64 1 (expm1.f64 (*.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)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))) (+.f64 1 (expm1.f64 (*.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)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (exp.f64 im)))) (exp.f64 (/.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)))
(log.f64 (*.f64 (sqrt.f64 (exp.f64 (exp.f64 im))) (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (exp.f64 (exp.f64 im)))))
(+.f64 (log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im)))) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))))
(+.f64 (/.f64 1/2 (exp.f64 im)) (log.f64 (sqrt.f64 (exp.f64 (exp.f64 im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (exp.f64 im)))) (+.f64 1 (expm1.f64 (/.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)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) 3)) 1/3))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 3))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))))) 2))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im)))) 1) 1))
(*.f64 1 (cosh.f64 im))
(cosh.f64 im)
(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 (neg.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)))
(fma.f64 (exp.f64 im) 1/2 (/.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)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) 1 (*.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)))
(fma.f64 (*.f64 1/2 (exp.f64 im)) 1 (/.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)))
(fma.f64 1 (/.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)))
(fma.f64 1 (*.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)))
(fma.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im))))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) 1/2) (/.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)))
(fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.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)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sqrt.f64 (*.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)))
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) 1/2) (/.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)))
(fma.f64 -1/2 (/.f64 1 (neg.f64 (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)))
(fma.f64 (exp.f64 (neg.f64 im)) 1/2 (*.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)))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (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)))
(fma.f64 (*.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (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 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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 0 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(+.f64 (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 1) (*.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 1))
(fma.f64 1/2 (*.f64 (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 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (*.f64 (cosh.f64 im) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 3) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 3)) (+.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 2) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 3) (*.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (sin.f64 re)) 3))) (+.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 2) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (exp.f64 im) (sin.f64 re)) 3) (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 3)) (+.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) (-.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))))))
(/.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im)))) (-.f64 (pow.f64 (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (/.f64 (exp.f64 im) 1/2)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 2)) (-.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 2)) (+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 -1/2 (*.f64 (exp.f64 im) (sin.f64 re)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 2) (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 2)) (*.f64 (sin.f64 re) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))))
(/.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im))))) (*.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (*.f64 (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im)))) (sin.f64 re)) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im))))) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 (exp.f64 im) (+.f64 (*.f64 1/4 (exp.f64 im)) (/.f64 -1/4 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im))))) (sin.f64 re))
(/.f64 (*.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2)) (sin.f64 re))
(/.f64 (*.f64 (-.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (+.f64 im im)))) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 1/8 (exp.f64 (*.f64 3 im)) (/.f64 1/8 (exp.f64 (*.f64 3 im))))) (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (fma.f64 1/8 (exp.f64 (*.f64 im 3)) (/.f64 1/8 (exp.f64 (*.f64 im 3)))) (/.f64 (fma.f64 (*.f64 1/2 (exp.f64 im)) (-.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im))) (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 (*.f64 1/2 (exp.f64 im)) (fma.f64 1/2 (exp.f64 im) (/.f64 -1/2 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im))))) (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 3) im) (/.f64 1/8 (pow.f64 (exp.f64 3) im))) (fma.f64 (exp.f64 im) (+.f64 (*.f64 1/4 (exp.f64 im)) (/.f64 -1/4 (exp.f64 im))) (/.f64 1/4 (exp.f64 (+.f64 im im))))) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (/.f64 (fma.f64 1/4 (exp.f64 (+.f64 im im)) (/.f64 -1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) -1/2)) (sin.f64 re))
(/.f64 (*.f64 (-.f64 (/.f64 1/2 (exp.f64 (+.f64 im im))) (*.f64 1/2 (exp.f64 (+.f64 im im)))) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 1)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2) 1/2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3) 1/3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 3)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 2)
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (*.f64 2 (cosh.f64 im))))))
(*.f64 2 (*.f64 (cosh.f64 im) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re))))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (exp.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))))
(fma.f64 1/2 (*.f64 (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))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)) 3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 1/3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 3))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re)))) 2))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (*.f64 2 (cosh.f64 im))) (sin.f64 re))) 1) 1))
(*.f64 (*.f64 1 (cosh.f64 im)) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(fma.f64 1/2 (*.f64 (exp.f64 (neg.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 1 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 1 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cbrt.f64 (sin.f64 re))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (/.f64 (*.f64 1/2 (cbrt.f64 (sin.f64 re))) (exp.f64 im))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) 1/2) (exp.f64 im)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (exp.f64 im) (*.f64 1/2 (cbrt.f64 (sin.f64 re)))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (+.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (*.f64 (exp.f64 im) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.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 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 1 (*.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 1))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) 2) (cbrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (sqrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (sqrt.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (sin.f64 re) 1/2) (exp.f64 im) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (sin.f64 re) 1/2) (exp.f64 (neg.f64 im)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (sin.f64 re) (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (cbrt.f64 (/.f64 1/4 (exp.f64 (+.f64 im im)))))))
(fma.f64 (*.f64 (sin.f64 re) (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (/.f64 1/2 (exp.f64 im)) (cbrt.f64 (sin.f64 re))) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re)) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (/.f64 (*.f64 1/2 (cbrt.f64 (sin.f64 re))) (exp.f64 im))))
(fma.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (sin.f64 re) (exp.f64 im)) 1/2 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (sin.f64 re) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (cbrt.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 (cbrt.f64 (*.f64 1/2 (exp.f64 im))) (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 1/2 (exp.f64 im))))
(fma.f64 (*.f64 (sin.f64 re) (sqrt.f64 (*.f64 1/2 (exp.f64 im)))) (sqrt.f64 (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 (cbrt.f64 (sin.f64 re)) 1/2) (exp.f64 im)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (exp.f64 im) (*.f64 1/2 (cbrt.f64 (sin.f64 re)))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 1/2 (+.f64 (/.f64 (sin.f64 re) (exp.f64 im)) (*.f64 (*.f64 (exp.f64 im) (cbrt.f64 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (sin.f64 re)))))
(fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (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))))

eval155.0ms (2.2%)

Compiler

Compiled 6639 to 3915 computations (41% saved)

prune51.0ms (0.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3543357
Fresh000
Picked101
Done112
Total3564360
Error
0b
Counts
360 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
61.0b
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.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)))
0.0b
(*.f64 (sin.f64 re) (cosh.f64 im))
20.4b
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
Compiler

Compiled 57 to 43 computations (24.6% saved)

localize11.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (cosh.f64 im) (sin.f64 re))
0.4b
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
20.4b
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
Compiler

Compiled 29 to 11 computations (62.1% saved)

series196.0ms (2.7%)

Counts
3 → 0
Calls

18 calls:

TimeVariablePointExpression
11.0ms
re
@0
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
3.0ms
im
@inf
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
3.0ms
im
@-inf
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
3.0ms
re
@inf
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
3.0ms
re
@-inf
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
Compiler

Compiled 18600 to 11320 computations (39.1% saved)

rewrite56.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
779×pow1_binary64
728×add-log-exp_binary64
727×log1p-expm1-u_binary64
727×expm1-log1p-u_binary64
708×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify56.0ms (0.8%)

Algorithm
egg-herbie
Rules
699×fma-def_binary64
428×log-prod_binary64
423×exp-prod_binary64
392×cube-prod_binary64
358×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01201041
1269834
2999627
34194627
Stop Event
node limit
Counts
69 → 62
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (cosh.f64 im) (sin.f64 re))) 1)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sin.f64 re) (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1)
(*.f64 1 (*.f64 (cosh.f64 im) (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) (cosh.f64 im)))
(*.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2))
(*.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2) (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (cosh.f64 im)))
(*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) (sin.f64 re)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) 1/3) (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(*.f64 (pow.f64 1 1/3) (*.f64 (cosh.f64 im) (sin.f64 re)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2) 1/3))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (cbrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 (sin.f64 re) (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (sin.f64 re)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(-.f64 (+.f64 1 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)) 1)
(*.f64 (cosh.f64 im) (*.f64 (sin.f64 re) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(*.f64 (sin.f64 re) (*.f64 (cosh.f64 im) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2))
(*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1)
(*.f64 1 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
(*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (*.f64 (cosh.f64 im) (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(*.f64 (pow.f64 (cosh.f64 im) 3) (pow.f64 (sin.f64 re) 3))
(*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (cosh.f64 im) 3))
(*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2) 3) (*.f64 (cosh.f64 im) (sin.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3) (pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3))
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (cosh.f64 im)) (sin.f64 re))
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (sin.f64 re)) (cosh.f64 im))
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) 1) (*.f64 (cosh.f64 im) (sin.f64 re)))
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2)) (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))) (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))
(exp.f64 (*.f64 3 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))))
(-.f64 (+.f64 1 (*.f64 (cosh.f64 im) (sin.f64 re))) 1)
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (sin.f64 re)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
Outputs
(-.f64 (+.f64 1 (*.f64 (cosh.f64 im) (sin.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (cosh.f64 im) (sin.f64 re))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 1 (*.f64 (cosh.f64 im) (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) 1/3))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2) (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) 1/3) (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 1 1/3) (*.f64 (cosh.f64 im) (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2) 1/3) (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2) 1/3))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 (sin.f64 re)) 2)) (cbrt.f64 (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (sin.f64 re)) 2)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(-.f64 (+.f64 1 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)) 1)
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (cosh.f64 im) (*.f64 (sin.f64 re) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (sin.f64 re) (*.f64 (cosh.f64 im) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1)
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 1 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (*.f64 (cosh.f64 im) (sin.f64 re)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (cosh.f64 im) 3) (pow.f64 (sin.f64 re) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (cosh.f64 im) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2) (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3/2))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2) 3) (*.f64 (cosh.f64 im) (sin.f64 re)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3) (pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (cosh.f64 im)) (sin.f64 re))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (sin.f64 re)) (cosh.f64 im))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) 1) (*.f64 (cosh.f64 im) (sin.f64 re)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2)) (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(*.f64 (*.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2) (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))) (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(sqrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 6))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(log.f64 (exp.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 3))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(exp.f64 (*.f64 3 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re)))))
(+.f64 1 (-.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1))
(+.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 0)
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3)
(-.f64 (+.f64 1 (*.f64 (cosh.f64 im) (sin.f64 re))) 1)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (sin.f64 re)) 2)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 3)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (cosh.f64 im) (sin.f64 re))) 2)
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(sqrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 2))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) (sin.f64 re)))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (cosh.f64 im) (sin.f64 re))))
(+.f64 1 (-.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 1))
(+.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 0)
(*.f64 (cosh.f64 im) (sin.f64 re))

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 13 to 5 computations (61.5% saved)

series12.0ms (0.2%)

Counts
1 → 0
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(*.f64 (sin.f64 re) (cosh.f64 im))
0.0ms
re
@inf
(*.f64 (sin.f64 re) (cosh.f64 im))
0.0ms
im
@0
(*.f64 (sin.f64 re) (cosh.f64 im))
0.0ms
im
@inf
(*.f64 (sin.f64 re) (cosh.f64 im))
0.0ms
re
@-inf
(*.f64 (sin.f64 re) (cosh.f64 im))
Compiler

Compiled 1925 to 1075 computations (44.2% saved)

rewrite52.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
602×pow1_binary64
554×add-log-exp_binary64
553×log1p-expm1-u_binary64
553×expm1-log1p-u_binary64
541×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify41.0ms (0.6%)

Algorithm
egg-herbie
Rules
557×associate-*l/_binary64
454×associate-*r/_binary64
414×distribute-rgt-in_binary64
403×distribute-lft-in_binary64
315×log-prod_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
036182
195143
2338104
31894104
47985104
Stop Event
node limit
Counts
13 → 16
Calls
Call 1
Inputs
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) 1)
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (sin.f64 re)) 2)
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (cosh.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (cosh.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (cosh.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (cosh.f64 im))))
Outputs
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) 1)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (sin.f64 re)) 2)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(/.f64 (*.f64 (sin.f64 re) (*.f64 2 (cosh.f64 im))) 2)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 1)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 3) 1/3)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (cosh.f64 im))) 3)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (cosh.f64 im))) 2)
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 2))
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (cosh.f64 im)))
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 3))
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (cosh.f64 im))))
(+.f64 (+.f64 1 (*.f64 (sin.f64 re) (cosh.f64 im))) -1)
(+.f64 (*.f64 (sin.f64 re) (cosh.f64 im)) 0)
(*.f64 (sin.f64 re) (cosh.f64 im))

localize34.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
3.9b
(-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))
3.9b
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 100 to 53 computations (47% saved)

series94.0ms (1.3%)

Counts
4 → 0
Calls

18 calls:

TimeVariablePointExpression
20.0ms
im
@inf
(-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))
2.0ms
re
@inf
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
2.0ms
re
@0
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.0ms
im
@inf
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
1.0ms
im
@-inf
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
Compiler

Compiled 6900 to 4175 computations (39.5% saved)

rewrite140.0ms (2%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
973×pow1_binary64
912×add-log-exp_binary64
911×log1p-expm1-u_binary64
911×expm1-log1p-u_binary64
208×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01840
141240
2734340
0610
112710
2211610
0610
0920
120217
2257217
01840
141240
2734240
01840
0915
119115
2325615
0915
Stop Event
iter limit
unsound
iter limit
unsound
node limit
iter limit
unsound
unsound
Counts
4 → 71
Calls
Call 1
Inputs
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (/.f64 (-.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (exp.f64 (neg.f64 im)) (neg.f64 (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))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (pow.f64 (exp.f64 im) 2)) 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (exp.f64 im) 1/2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2) (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))) (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)))) (neg.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))) (neg.f64 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (pow.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 3)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))))
((#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 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 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 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 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 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 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 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 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 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 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.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 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.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 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.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 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))))

simplify57.0ms (0.8%)

Algorithm
egg-herbie
Rules
750×associate-/l*_binary64
618×fma-def_binary64
340×distribute-rgt-in_binary64
338×associate-/r*_binary64
314×distribute-lft-in_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01971942
15161824
222161620
Stop Event
node limit
Counts
71 → 105
Calls
Call 1
Inputs
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (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))))
(+.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(+.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1))
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (pow.f64 (exp.f64 im) 2)) 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (exp.f64 im) 1/2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))
(*.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 1)
(*.f64 1 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))
(*.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2) (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(*.f64 (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(*.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))
(*.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(*.f64 (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))) (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)))))
(/.f64 1 (/.f64 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(/.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))
(/.f64 (neg.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)))) (neg.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))
(/.f64 (neg.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))) (neg.f64 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(/.f64 (+.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (pow.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 3)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 1)
(pow.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 2))
(log.f64 (exp.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))
(cbrt.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(log1p.f64 (expm1.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(exp.f64 (log.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(/.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1/2)
(/.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(exp.f64 (log.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(pow.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(log.f64 (exp.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
Outputs
(+.f64 (exp.f64 (neg.f64 im)) (neg.f64 (exp.f64 im)))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(-.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 (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 (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 (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 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (neg.f64 im)) 3) (pow.f64 (exp.f64 im) 3)) (+.f64 1 (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2))))
(/.f64 (-.f64 (exp.f64 (*.f64 im -3)) (exp.f64 (*.f64 3 im))) (+.f64 (+.f64 1 (pow.f64 (exp.f64 2) im)) (pow.f64 (exp.f64 im) -2)))
(/.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 (-.f64 (exp.f64 (+.f64 (neg.f64 im) (neg.f64 im))) (exp.f64 (+.f64 im im))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1)
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log.f64 (exp.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.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))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(expm1.f64 (log1p.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(log1p.f64 (expm1.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(exp.f64 (log.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(+.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(+.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (pow.f64 (exp.f64 im) 2)) 1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1/4 (*.f64 1/4 (exp.f64 (+.f64 im im)))))
(fma.f64 1/4 (-.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (neg.f64 (pow.f64 (exp.f64 im) 2)) (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) 0)
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1/4 (*.f64 1/4 (exp.f64 (+.f64 im im)))))
(fma.f64 1/4 (-.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (neg.f64 (pow.f64 (exp.f64 im) 2)) (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) 0)
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1 (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1/4 (*.f64 1/4 (exp.f64 (+.f64 im im)))))
(fma.f64 1/4 (-.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (neg.f64 (pow.f64 (exp.f64 im) 2)) (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) 0)
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (exp.f64 (+.f64 im im))))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (exp.f64 (+.f64 im im)))))
(fma.f64 1/4 (-.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(fma.f64 (neg.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 2) im)))) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 4) 1/16)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 2) im) (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))))
(+.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (fma.f64 (neg.f64 (*.f64 (exp.f64 im) 1/2)) (*.f64 (exp.f64 im) 1/2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im))) (fma.f64 (neg.f64 (exp.f64 (+.f64 im im))) 1/4 (*.f64 1/4 (exp.f64 (+.f64 im im)))))
(fma.f64 1/4 (-.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (neg.f64 (pow.f64 (exp.f64 im) 2)) (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)) 0)
(+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(*.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 1)
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(*.f64 1 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(*.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) (pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2) (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(*.f64 (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(*.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))
(*.f64 (+.f64 (/.f64 1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3)) (*.f64 -1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/4 (*.f64 (exp.f64 (+.f64 im im)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3) -1/64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/16) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 1/16)))
(*.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(*.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))
(*.f64 4 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2))))
(*.f64 4 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))))
(*.f64 (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))
(*.f64 (+.f64 (*.f64 (exp.f64 im) 1/2) (/.f64 1/2 (exp.f64 im))) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) -1/2)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) 1/2)))
(*.f64 (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))) (fma.f64 (exp.f64 im) -1/2 (/.f64 1/2 (exp.f64 im))))
(/.f64 1 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))) (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)))))
(*.f64 (+.f64 (/.f64 1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3)) (*.f64 -1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/4 (*.f64 (exp.f64 (+.f64 im im)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3) -1/64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/16) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 1/16)))
(/.f64 1 (/.f64 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(*.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))
(*.f64 4 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2))))
(*.f64 4 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))))
(/.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))
(*.f64 (+.f64 (/.f64 1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3)) (*.f64 -1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/4 (*.f64 (exp.f64 (+.f64 im im)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3) -1/64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/16) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 1/16)))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))
(*.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))
(*.f64 4 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2))))
(*.f64 4 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))))
(/.f64 (neg.f64 (-.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (*.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)))) (neg.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))))
(*.f64 (+.f64 (/.f64 1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3)) (*.f64 -1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/4 (*.f64 (exp.f64 (+.f64 im im)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3) -1/64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/16) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 1/16)))
(/.f64 (neg.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))) (neg.f64 (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(*.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))
(*.f64 4 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2))))
(*.f64 4 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))))
(/.f64 (+.f64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3)) (pow.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 3)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (*.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))
(*.f64 (+.f64 (/.f64 1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3)) (*.f64 -1/64 (pow.f64 (exp.f64 (+.f64 im im)) 3))) (/.f64 1 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/4 (*.f64 (exp.f64 (+.f64 im im)) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3) -1/64 (/.f64 1/64 (pow.f64 (pow.f64 (exp.f64 im) 2) 3))) (fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/16) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 6) -1/64 (/.f64 1/64 (pow.f64 (exp.f64 im) 6))) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 4) 1/16 1/16)))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(*.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 4 (+.f64 (pow.f64 (exp.f64 im) -2) (exp.f64 (+.f64 im im)))))
(*.f64 4 (/.f64 (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (exp.f64 im) 4) -1/16)) (+.f64 (exp.f64 (*.f64 im -2)) (pow.f64 (exp.f64 im) 2))))
(*.f64 4 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (+.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im))))
(pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 1)
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(pow.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 3) 1/3)
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(pow.f64 (cbrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 3)
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(pow.f64 (sqrt.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))) 2)
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(sqrt.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 2))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(log.f64 (exp.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(cbrt.f64 (pow.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2))) 3))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(expm1.f64 (log1p.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(log1p.f64 (expm1.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(exp.f64 (log.f64 (*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 im) 2)))))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(fma.f64 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 1/4 (exp.f64 (*.f64 im -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(*.f64 1/4 (-.f64 (pow.f64 (exp.f64 im) -2) (pow.f64 (exp.f64 2) im)))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (exp.f64 (*.f64 im -2)))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (*.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 (+.f64 im im)) -1/4))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 2) im) -1/4))
(/.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(/.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1/2)
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(/.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(pow.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(log.f64 (exp.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 (+.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)) (*.f64 -1/4 (pow.f64 (exp.f64 im) 2))) 2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) 1/2))
(/.f64 (fma.f64 (pow.f64 (exp.f64 2) im) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 2) im))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (cbrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sqrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (sqrt.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(pow.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log.f64 (exp.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(expm1.f64 (log1p.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(log1p.f64 (expm1.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(exp.f64 (log.f64 (/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sin.f64 re) (/.f64 1 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (sin.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

eval67.0ms (0.9%)

Compiler

Compiled 4382 to 2151 computations (50.9% saved)

prune29.0ms (0.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1821183
Fresh000
Picked101
Done033
Total1834187
Error
0b
Counts
187 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
61.0b
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(*.f64 (sin.f64 re) (cosh.f64 im))
20.4b
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
Compiler

Compiled 57 to 41 computations (28.1% saved)

localize33.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

Compiled 98 to 35 computations (64.3% saved)

series71.0ms (1%)

Counts
3 → 0
Calls

15 calls:

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

Compiled 7440 to 4530 computations (39.1% saved)

rewrite121.0ms (1.7%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
630×unpow-prod-down_binary64
412×log-prod_binary64
332×fma-def_binary64
241×pow-prod-down_binary64
238×pow2_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01994
142394
2749994
0918
120418
2280218
01938
142338
2749938
01938
01118
123418
2400418
01118
Stop Event
iter limit
unsound
iter limit
unsound
node limit
unsound
Counts
3 → 90
Calls
Call 1
Inputs
(+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im))))
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
(/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (/.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4)) (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (pow.f64 (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (pow.f64 (/.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/3) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4))) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 5/2) 1/3) (cbrt.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 2) 3) (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))) (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))) (neg.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))) (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))) (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 -1/4) (pow.f64 (exp.f64 im) 2)) (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (pow.f64 (exp.f64 -1/4) (pow.f64 (exp.f64 im) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 im) 2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) 1 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 (sqrt.f64 -1/4) (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (exp.f64 im) (*.f64 (exp.f64 im) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (exp.f64 im) -2) 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (exp.f64 im)) (exp.f64 im) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 4))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))) (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (sqrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)) (sin.f64 re))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (/.f64 1 (sin.f64 re)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (sqrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))))))

simplify105.0ms (1.5%)

Algorithm
egg-herbie
Rules
895×fma-def_binary64
665×associate-/l*_binary64
358×associate-*l/_binary64
294×associate-*r/_binary64
273×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02372620
15602512
216682494
372222494
Stop Event
node limit
Counts
90 → 117
Calls
Call 1
Inputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 1)
(-.f64 (/.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (/.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 1)
(*.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4)) (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(*.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (pow.f64 (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) 1))
(*.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(*.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (pow.f64 (/.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) 1))
(*.f64 (pow.f64 1 1/3) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4))) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 5/2) 1/3) (cbrt.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 2) 3) (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3))
(/.f64 1 (/.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))) (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (neg.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))) (neg.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))) (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 1)
(pow.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4) 1/2)
(pow.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6) 1/3)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 3)
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 2)
(pow.f64 (/.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))) (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))) -1)
(pow.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))) -1)
(sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4))
(log.f64 (exp.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2))))
(log.f64 (*.f64 (pow.f64 (exp.f64 -1/4) (pow.f64 (exp.f64 im) 2)) (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (pow.f64 (exp.f64 -1/4) (pow.f64 (exp.f64 im) 2))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(exp.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 1) 1))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 im) 2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) 1 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 1 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (*.f64 (sqrt.f64 -1/4) (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (exp.f64 im) (*.f64 (exp.f64 im) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) -2) 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (*.f64 -1/4 (exp.f64 im)) (exp.f64 im) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 4))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(*.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 1 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))) (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (sqrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)) (sin.f64 re))
(pow.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) 1)
(log.f64 (exp.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(exp.f64 (log.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (/.f64 1 (sin.f64 re)))
(*.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (sqrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(pow.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)) 1)
(log.f64 (exp.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(exp.f64 (log.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 1)
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(-.f64 (/.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (/.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 1)
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4)) (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))
(*.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))
(*.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))))
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (*.f64 1/4 (pow.f64 (/.f64 (exp.f64 im) (/.f64 (exp.f64 im) 1/2)) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (fma.f64 1/4 (pow.f64 (*.f64 (/.f64 (exp.f64 im) (exp.f64 im)) 1/2) 2) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (pow.f64 (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))) 1))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (*.f64 1/4 (pow.f64 (/.f64 (exp.f64 im) (/.f64 (exp.f64 im) 1/2)) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (fma.f64 1/4 (pow.f64 (*.f64 (/.f64 (exp.f64 im) (exp.f64 im)) 1/2) 2) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(*.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (/.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(*.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (pow.f64 (/.f64 1 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) 1))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(*.f64 (pow.f64 1 1/3) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 6))) (cbrt.f64 (sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 6))))
(*.f64 (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 3)) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 3)))
(*.f64 (pow.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4))) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))) (cbrt.f64 (cbrt.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4) (cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 4)))) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 5/2) 1/3) (cbrt.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 5/2)) (cbrt.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) 5/2)) (cbrt.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4)))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) 5/2)) (cbrt.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 2) 3) (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(/.f64 1 (/.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))) (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (*.f64 1/4 (pow.f64 (/.f64 (exp.f64 im) (/.f64 (exp.f64 im) 1/2)) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (fma.f64 1/4 (pow.f64 (*.f64 (/.f64 (exp.f64 im) (exp.f64 im)) 1/2) 2) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(/.f64 1 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (*.f64 1/4 (pow.f64 (/.f64 (exp.f64 im) (/.f64 (exp.f64 im) 1/2)) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (fma.f64 1/4 (pow.f64 (*.f64 (/.f64 (exp.f64 im) (exp.f64 im)) 1/2) 2) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (*.f64 1/4 (pow.f64 (/.f64 (exp.f64 im) (/.f64 (exp.f64 im) 1/2)) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (fma.f64 1/4 (pow.f64 (*.f64 (/.f64 (exp.f64 im) (exp.f64 im)) 1/2) 2) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (neg.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))) (neg.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (*.f64 1/4 (pow.f64 (/.f64 (exp.f64 im) (/.f64 (exp.f64 im) 1/2)) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (fma.f64 1/4 (pow.f64 (*.f64 (/.f64 (exp.f64 im) (exp.f64 im)) 1/2) 2) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))) (neg.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (-.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(pow.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) 1)
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(pow.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4) 1/2)
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(pow.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6) 1/3)
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 3)
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 2)
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(pow.f64 (/.f64 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))) (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6))) -1)
(*.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (/.f64 1 (-.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (pow.f64 (*.f64 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (+.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4)) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (*.f64 1/4 (pow.f64 (/.f64 (exp.f64 im) (/.f64 (exp.f64 im) 1/2)) 2)))))
(/.f64 (fma.f64 -1/64 (pow.f64 (exp.f64 im) 6) (pow.f64 (/.f64 1/2 (exp.f64 im)) 6)) (fma.f64 1/4 (pow.f64 (*.f64 (/.f64 (exp.f64 im) (exp.f64 im)) 1/2) 2) (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(pow.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4)))) -1)
(/.f64 (-.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)) (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 1/16 (pow.f64 (exp.f64 im) 4) (/.f64 -1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 -1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(/.f64 (fma.f64 (pow.f64 (exp.f64 im) 4) -1/16 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (+.f64 (pow.f64 (exp.f64 im) 2) (pow.f64 (exp.f64 im) -2))))
(sqrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 4))
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(log.f64 (exp.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (pow.f64 (exp.f64 -1/4) (pow.f64 (exp.f64 im) 2)) (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))) (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (pow.f64 (exp.f64 -1/4) (pow.f64 (exp.f64 im) 2))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/4) (pow.f64 (exp.f64 im) -2)) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(cbrt.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6))
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 1))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im))) 6)) 1/3))
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))))) 3))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(exp.f64 (*.f64 (log.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)))) 2))
(pow.f64 (hypot.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 (exp.f64 im) (sqrt.f64 -1/4))) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))) 1) 1))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 -1/4 (pow.f64 (exp.f64 im) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 -1/4 (/.f64 1 (neg.f64 (pow.f64 (exp.f64 im) 2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) 1 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 1 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 1 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2))) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (cbrt.f64 (/.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(fma.f64 (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4))) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4)) (cbrt.f64 (*.f64 1/16 (pow.f64 (exp.f64 im) 4)))))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 -1/4 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (/.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 (sqrt.f64 -1/4) (exp.f64 im)) (*.f64 (sqrt.f64 -1/4) (exp.f64 im)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (exp.f64 im) (*.f64 (exp.f64 im) -1/4) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (pow.f64 (exp.f64 im) -2) 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 -1/4 (exp.f64 im)) (exp.f64 im) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 1/4 (pow.f64 (exp.f64 im) -2) (*.f64 (pow.f64 (exp.f64 im) 2) -1/4))
(fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(fma.f64 (*.f64 -1/4 (cbrt.f64 (pow.f64 (exp.f64 im) 4))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (*.f64 -1/4 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (*.f64 1/4 (pow.f64 (exp.f64 im) -2)))
(fma.f64 -1/4 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) 4)) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1/4 (pow.f64 (exp.f64 im) 2)))
(*.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 1 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))) (cbrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (sqrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (sqrt.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2)) (sin.f64 re))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(pow.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) 1)
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log.f64 (exp.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(expm1.f64 (log1p.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(log1p.f64 (expm1.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(exp.f64 (log.f64 (/.f64 (fma.f64 (exp.f64 (+.f64 im im)) -1/4 (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(/.f64 (*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) -1/4 (/.f64 1/4 (pow.f64 (exp.f64 im) 2))) (/.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (/.f64 1 (sin.f64 re)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 1 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (*.f64 (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)))) (cbrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(*.f64 (sqrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (sqrt.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(pow.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)) 1)
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(log.f64 (exp.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(cbrt.f64 (*.f64 (*.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2)) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))) (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(expm1.f64 (log1p.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(log1p.f64 (expm1.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))
(exp.f64 (log.f64 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 (sin.f64 re) 1/2))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (/.f64 1 (sin.f64 re))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (/.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (sin.f64 re)))

eval67.0ms (0.9%)

Compiler

Compiled 4660 to 2419 computations (48.1% saved)

prune21.0ms (0.3%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1360136
Fresh000
Picked011
Done033
Total1364140
Error
0b
Counts
140 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
61.0b
(/.f64 (+.f64 (*.f64 (exp.f64 (+.f64 im im)) -1/4) (/.f64 1/4 (exp.f64 (+.f64 im im)))) (/.f64 (*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 1/2) (sin.f64 re)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b
(*.f64 (sin.f64 re) (cosh.f64 im))
20.4b
(cbrt.f64 (pow.f64 (*.f64 (cosh.f64 im) (sin.f64 re)) 3))
Compiler

Compiled 57 to 41 computations (28.1% saved)

regimes50.0ms (0.7%)

Accuracy

Total -61.7b remaining (-526155%)

Threshold costs -61.7b (-526155%)

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

7 calls:

14.0ms
(sin.f64 re)
9.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
5.0ms
(*.f64 1/2 (sin.f64 re))
5.0ms
(*.f64 1/2 (sin.f64 re))
5.0ms
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(*.f64 1/2 (sin.f64 re))
0.0b1(sin.f64 re)
0.0b1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 170 to 102 computations (40% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
068
178
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (cosh.f64 im))
Outputs
(*.f64 (sin.f64 re) (cosh.f64 im))
Compiler

Compiled 7 to 5 computations (28.6% saved)

soundness234.0ms (3.3%)

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

Useful iterations: 3 (0.0ms)

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

Compiled 195 to 155 computations (20.5% saved)

end20.0ms (0.3%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

Profiling

Loading profile data...