Details

Time bar (total: 9.8s)

analyze153.0ms (1.6%)

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)

sample3.7s (37.4%)

Results
1.1s2105×body1024valid
880.0ms5128×body256valid
855.0ms2054×body1024infinite
303.0ms1621×body256infinite
278.0ms1017×body512valid
241.0ms956×body512infinite
5.0msbody2048valid
Bogosity

preprocess71.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

Compiled 16 to 13 computations (18.8% saved)

simplify64.0ms (0.7%)

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

Useful iterations: 3 (0.0ms)

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

eval1.0ms (0%)

Compiler

Compiled 36 to 22 computations (38.9% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Error
0.0b
Counts
4 → 1
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)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize14.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series23.0ms (0.2%)

Counts
2 → 36
Calls

9 calls:

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

Compiled 671 to 474 computations (29.4% saved)

rewrite71.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify53.0ms (0.5%)

Algorithm
egg-herbie
Rules
595×fma-def_binary64
546×times-frac_binary64
413×associate-/l*_binary64
318×*-commutative_binary64
314×unswap-sqr_binary64
Iterations

Useful iterations: 3 (0.0ms)

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

eval24.0ms (0.2%)

Compiler

Compiled 1465 to 689 computations (53% saved)

prune18.0ms (0.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New71677
Fresh000
Picked011
Done000
Total71778
Error
0b
Counts
78 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.4b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
0.4b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
32.1b
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
0.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12)))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))))
0.8b
(sin.f64 re)
Compiler

Compiled 165 to 122 computations (26.1% saved)

localize21.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 53 to 31 computations (41.5% saved)

series25.0ms (0.3%)

Counts
2 → 36
Calls

9 calls:

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

Compiled 953 to 790 computations (17.1% saved)

rewrite63.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
616×log-prod_binary64
424×prod-diff_binary64
354×pow2_binary64
244×pow1/3_binary64
243×expm1-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify97.0ms (1%)

Algorithm
egg-herbie
Rules
618×log-prod_binary64
550×unswap-sqr_binary64
224×associate-+l+_binary64
213×associate-*l*_binary64
207×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03133323
17973104
227623004
376433004
Stop Event
node limit
Counts
144 → 187
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 7))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4)))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(pow.f64 im 2)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (*.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)) (-.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3)) (*.f64 1/2 (sin.f64 re))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)
(pow.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sqrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12)))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(fma.f64 (*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re)) 1/2 (sin.f64 re))
(fma.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2)))) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2)))) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12)))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2)))) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))
(+.f64 0 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(+.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1) (*.f64 im im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1)
(*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(*.f64 1 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) (pow.f64 im 6)) (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 2) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 2) (pow.f64 im 4)) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)))
(pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 1/2)
(pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 3)
(pow.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) 2)
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))
(log.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 im) im) (exp.f64 (*.f64 (pow.f64 im 4) 1/12))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (exp.f64 (*.f64 (pow.f64 im 4) 1/12))))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) 1/12)) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(cbrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(log1p.f64 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(exp.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
Outputs
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) re))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re)))
(fma.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) re) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re))))
(fma.f64 -1/12 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) re) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 5) 1/240))))
(fma.f64 -1/12 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 3)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 7))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 7)) (*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re)))))
(fma.f64 -1/12 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (pow.f64 re 5)) (fma.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) re) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 7) -1/10080)))))
(+.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 7) -1/10080))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4)))
(*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 (/.f64 1 im) -4))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (/.f64 1 im) -2)))
(fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -4)))
(*.f64 (pow.f64 (/.f64 -1 im) -4) (*.f64 (sin.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -4))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 (/.f64 -1 im) -4)) (*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -4)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 (/.f64 -1 im) -4)) (*.f64 1/2 (pow.f64 (/.f64 -1 im) -2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -4)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 (/.f64 -1 im) -4)) (*.f64 1/2 (pow.f64 (/.f64 -1 im) -2)))))
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(fma.f64 1/12 (pow.f64 (/.f64 -1 im) -4) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(fma.f64 1/12 (pow.f64 (/.f64 -1 im) -4) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(fma.f64 1/12 (pow.f64 (/.f64 -1 im) -4) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (*.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 2) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)) (-.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 2)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 2)) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3)) (*.f64 1/2 (sin.f64 re))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 4)) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)))
(*.f64 (/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 4)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (-.f64 4 (/.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 4)) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)))
(*.f64 (/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 4)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (-.f64 4 (/.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2) 1/2)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3) 1/3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 2)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)) 1/3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) 1/3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 2))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (exp.f64 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))) 3))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 2 (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 2 (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2))) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 2) (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sqrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12)))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re)) 1/2 (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2)))) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 2 (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (*.f64 2 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2)))) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 2 (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12)))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1/2) (sin.f64 re) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) 2)))) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (sin.f64 re)))
(+.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 0 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 (*.f64 (pow.f64 im 4) 1/12) 1) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 3) (pow.f64 im 6)) (+.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 2) (-.f64 (pow.f64 im 4) (*.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 im 6)) (+.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (-.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 4) (*.f64 1/12 (*.f64 im im))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (+.f64 (*.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 im 4))) (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 2))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 im 6)) (+.f64 (*.f64 -1/12 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 im 4) 1/12) 2) (pow.f64 im 4)) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (pow.f64 im 4)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im (neg.f64 im))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 1/2)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 3)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (hypot.f64 im (sqrt.f64 (*.f64 (pow.f64 im 4) 1/12))) 2)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3) 1/3)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (pow.f64 (exp.f64 im) im) (exp.f64 (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (exp.f64 (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (exp.f64 (*.f64 (pow.f64 im 4) 1/12)) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(cbrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(expm1.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log1p.f64 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(exp.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize17.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 33 to 17 computations (48.5% saved)

series18.0ms (0.2%)

Counts
2 → 36
Calls

9 calls:

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

Compiled 637 to 530 computations (16.8% saved)

rewrite57.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify49.0ms (0.5%)

Algorithm
egg-herbie
Rules
670×associate-*l*_binary64
596×associate-*r*_binary64
457×log-prod_binary64
389×fma-def_binary64
202×distribute-rgt-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0126914
1340898
21040857
35475840
Stop Event
node limit
Counts
68 → 69
Calls
Call 1
Inputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 7))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (sin.f64 re)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(-.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
Outputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (/.f64 1 im) -2))
(*.f64 im (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))
(*.f64 im (*.f64 (sin.f64 re) (*.f64 1/2 im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (*.f64 im im) 1)))))
(fma.f64 (pow.f64 re 3) (+.f64 -1/6 (*.f64 (*.f64 im im) -1/12)) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 7))) (+.f64 (*.f64 1/120 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) (pow.f64 re 5))) (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (fma.f64 1/2 (*.f64 im im) 1)) (fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (*.f64 1/120 (*.f64 (pow.f64 re 5) (fma.f64 1/2 (*.f64 im im) 1))))))
(+.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) (+.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 1 im) -2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))
(*.f64 1/2 (*.f64 im im))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (+.f64 1 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (sin.f64 re)) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) -1/2))) (fma.f64 1/8 (pow.f64 im 6) 1))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (sin.f64 re) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (*.f64 (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1) (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (sin.f64 re) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))) (+.f64 (*.f64 1/4 (pow.f64 im 4)) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (*.f64 1/8 (pow.f64 (*.f64 im im) 3))) (/.f64 (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (*.f64 im im) -1/2))) (fma.f64 1/8 (pow.f64 im 6) 1))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 (sin.f64 re) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 1/4 (pow.f64 im 4)) -1)) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (sin.f64 re) (/.f64 (fma.f64 1/2 (*.f64 im im) -1) (fma.f64 1/4 (pow.f64 im 4) -1)))
(*.f64 (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3) 1/3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 2))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re)) 3))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) (pow.f64 (sin.f64 re) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (*.f64 im im) 1) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)) 1/3)
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(sqrt.f64 (*.f64 1/4 (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 im im))
(cbrt.f64 (*.f64 1/8 (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 1/8 (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 im im))

localize12.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 12 computations (61.3% saved)

series10.0ms (0.1%)

Counts
2 → 32
Calls

9 calls:

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

Compiled 450 to 352 computations (21.8% saved)

rewrite46.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

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

simplify54.0ms (0.6%)

Algorithm
egg-herbie
Rules
633×fma-def_binary64
514×distribute-rgt-in_binary64
469×fma-neg_binary64
466×distribute-lft-in_binary64
351×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
093720
1249706
2928667
32626370
47758370
Stop Event
node limit
Counts
50 → 55
Calls
Call 1
Inputs
re
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(pow.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(*.f64 2 (cosh.f64 im))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
Outputs
re
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) re))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) re)))
(fma.f64 re (*.f64 1/720 (pow.f64 im 6)) (fma.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) re))
(*.f64 re (+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/720 (pow.f64 im 6) 1)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (+.f64 2 (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360)))
(+.f64 2 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 (*.f64 (pow.f64 im 6) 1/360))))
(+.f64 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(pow.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) 1)
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(log.f64 (exp.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (*.f64 (cbrt.f64 (*.f64 2 (cosh.f64 im))) (cbrt.f64 (*.f64 2 (cosh.f64 im)))) (cbrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (*.f64 (exp.f64 (neg.f64 im)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 (neg.f64 im)) 3)) (+.f64 (exp.f64 (+.f64 im im)) (+.f64 -1 (exp.f64 (*.f64 im -2)))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (exp.f64 (*.f64 im -3))) (+.f64 (pow.f64 (exp.f64 2) im) (expm1.f64 (*.f64 im -2))))
(/.f64 (+.f64 (pow.f64 (exp.f64 im) 3) (pow.f64 (exp.f64 im) -3)) (+.f64 (pow.f64 (exp.f64 im) -2) (expm1.f64 (+.f64 im im))))
(/.f64 (-.f64 (*.f64 (exp.f64 im) (exp.f64 im)) (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im)))) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(pow.f64 (*.f64 2 (cosh.f64 im)) 1)
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log.f64 (exp.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 2 (cosh.f64 im))) (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 11 computations (68.6% saved)

series40.0ms (0.4%)

Counts
3 → 72
Calls

18 calls:

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

Compiled 1269 to 1010 computations (20.4% saved)

rewrite62.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
991×prod-diff_binary64
485×log-prod_binary64
319×pow-prod-down_binary64
266×fma-def_binary64
251×pow2_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify88.0ms (0.9%)

Algorithm
egg-herbie
Rules
761×fma-neg_binary64
551×log-prod_binary64
335×*-commutative_binary64
300×distribute-rgt-in_binary64
284×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

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

eval179.0ms (1.8%)

Compiler

Compiled 9791 to 5885 computations (39.9% saved)

prune85.0ms (0.9%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New4965501
Fresh101
Picked011
Done235
Total4999508
Error
0b
Counts
508 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
32.2b
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
0.4b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
0.4b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
32.2b
(*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 re))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
32.1b
(*.f64 re (cosh.f64 im))
0.8b
(sin.f64 re)
32.4b
re
Compiler

Compiled 90 to 64 computations (28.9% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series8.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@-inf
(*.f64 re (cosh.f64 im))
2.0ms
re
@0
(*.f64 re (cosh.f64 im))
2.0ms
im
@inf
(*.f64 re (cosh.f64 im))
1.0ms
re
@-inf
(*.f64 re (cosh.f64 im))
1.0ms
im
@0
(*.f64 re (cosh.f64 im))
Compiler

Compiled 344 to 248 computations (27.9% saved)

rewrite36.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify34.0ms (0.3%)

Algorithm
egg-herbie
Rules
709×fma-def_binary64
547×associate-*l/_binary64
441×associate-*r/_binary64
410×distribute-rgt-in_binary64
399×distribute-lft-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059540
1158501
2509436
32413375
Stop Event
node limit
Counts
37 → 36
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
re
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(-.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) 1)
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 2)
(/.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2)
(pow.f64 (*.f64 re (cosh.f64 im)) 1)
(pow.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 3)
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 re) (cosh.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 re (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 re (cosh.f64 im))))
Outputs
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
re
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(fma.f64 1/2 (*.f64 im (*.f64 im re)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 im (*.f64 im (*.f64 1/2 re)) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) re))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) re))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) re)))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) re)))
(fma.f64 re (*.f64 1/720 (pow.f64 im 6)) (fma.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) re))
(*.f64 re (+.f64 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 1/720 (pow.f64 im 6) 1)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (cosh.f64 im) (*.f64 re 2)))
(-.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) 1)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 2)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(/.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (*.f64 re (cosh.f64 im)) 1)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 3)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 2))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(log.f64 (pow.f64 (exp.f64 re) (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(cbrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))

localize22.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 61 to 38 computations (37.7% saved)

series23.0ms (0.2%)

Counts
3 → 48
Calls

12 calls:

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

Compiled 1065 to 890 computations (16.4% saved)

rewrite69.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
712×log-prod_binary64
528×fma-def_binary64
273×expm1-udef_binary64
273×log1p-udef_binary64
260×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

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

simplify89.0ms (0.9%)

Algorithm
egg-herbie
Rules
599×unswap-sqr_binary64
372×times-frac_binary64
252×cancel-sign-sub-inv_binary64
251×associate-*l*_binary64
235×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04044215
110323946
233843776
Stop Event
node limit
Counts
201 → 240
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 7))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4)))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(pow.f64 im 2)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(+.f64 0 (*.f64 (pow.f64 im 4) 1/12))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)
(pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (*.f64 1/1728 (pow.f64 (pow.f64 im 4) 3)) 1/3)
(sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))
(cbrt.f64 (*.f64 1/1728 (pow.f64 (pow.f64 im 4) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))))
(+.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/12 2) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 4) 1/12 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))))) 1)
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3)) (*.f64 1/2 (sin.f64 re))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))) 3)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 4) 1/12 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (fma.f64 (pow.f64 im 4) 1/12 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (sin.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (sin.f64 re))
(fma.f64 (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re)) 1/2 (sin.f64 re))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sin.f64 re))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1)
(-.f64 (/.f64 (*.f64 1/144 (pow.f64 im 8)) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(*.f64 1 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))
(*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (/.f64 1 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6)))))
(*.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (/.f64 1 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(/.f64 1 (/.f64 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6))) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6))))
(/.f64 1 (/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)) (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 1/144 (pow.f64 im 8)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)))
(/.f64 (neg.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6))) (neg.f64 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4))) (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 1/144 (pow.f64 im 8))) (-.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))
(pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 3)
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3) 1/3)
(pow.f64 (/.f64 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6))) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)) (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))
(log.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (pow.f64 (exp.f64 im) im)))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))
(log.f64 (*.f64 (pow.f64 (exp.f64 im) im) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(cbrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(log1p.f64 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(exp.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) 1 (*.f64 im im))
(fma.f64 (*.f64 im im) 1 (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))
(fma.f64 1 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))
(fma.f64 1 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (*.f64 im im))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (*.f64 im im))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im))
Outputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 im 4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) re))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re)))
(fma.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) re) (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re))))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re))))
(fma.f64 -1/12 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) re) (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 (pow.f64 re 5) 1/240))))
(fma.f64 -1/12 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (pow.f64 re 3)) (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (pow.f64 re 7))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) re)))))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 7)) (*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) re)))))
(fma.f64 -1/12 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (pow.f64 re 5)) (fma.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) re) (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 (pow.f64 re 7) -1/10080)))))
(+.f64 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (+.f64 (*.f64 1/2 re) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 (pow.f64 im 2) 2)))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4)))
(*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 (/.f64 1 im) -4))
(*.f64 (pow.f64 (/.f64 1 im) -4) (*.f64 (sin.f64 re) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(fma.f64 1/24 (*.f64 (pow.f64 (/.f64 1 im) -4) (sin.f64 re)) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (/.f64 1 im) -2)))
(fma.f64 (*.f64 (sin.f64 re) 1/24) (pow.f64 (/.f64 1 im) -4) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (*.f64 im im))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -4))) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 1 im) -2)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (sin.f64 re) (+.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))
(*.f64 (pow.f64 (/.f64 -1 im) -4) (*.f64 (sin.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 (pow.f64 (/.f64 -1 im) -4) (*.f64 (sin.f64 re) 1/24)))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 (/.f64 -1 im) -4) 1/24) (*.f64 1/2 (pow.f64 (/.f64 -1 im) -2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 (pow.f64 (/.f64 -1 im) -4) (*.f64 (sin.f64 re) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 (/.f64 -1 im) -4) 1/24) (*.f64 1/2 (pow.f64 (/.f64 -1 im) -2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2))) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 1/24 (*.f64 (pow.f64 (/.f64 -1 im) -4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 (/.f64 -1 im) -2)) (*.f64 (pow.f64 (/.f64 -1 im) -4) (*.f64 (sin.f64 re) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 (/.f64 -1 im) -4) 1/24) (*.f64 1/2 (pow.f64 (/.f64 -1 im) -2)))))
(pow.f64 im 2)
(*.f64 im im)
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 (/.f64 1 im) -4))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 1 im) -4)) (pow.f64 (/.f64 1 im) -2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1/12 (pow.f64 (/.f64 -1 im) -4))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(fma.f64 1/12 (pow.f64 (/.f64 -1 im) -4) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(fma.f64 1/12 (pow.f64 (/.f64 -1 im) -4) (pow.f64 (/.f64 -1 im) -2))
(+.f64 (*.f64 1/12 (pow.f64 (/.f64 -1 im) -4)) (pow.f64 (/.f64 -1 im) -2))
(fma.f64 1/12 (pow.f64 (/.f64 -1 im) -4) (pow.f64 (/.f64 -1 im) -2))
(+.f64 0 (*.f64 (pow.f64 im 4) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 im 4) 1/12) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 1/1728 (pow.f64 (pow.f64 im 4) 3)) 1/3)
(cbrt.f64 (*.f64 1/1728 (pow.f64 (pow.f64 im 4) 3)))
(cbrt.f64 (*.f64 1/1728 (pow.f64 (*.f64 im im) 6)))
(sqrt.f64 (*.f64 1/144 (pow.f64 im 8)))
(log.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (*.f64 1/1728 (pow.f64 (pow.f64 im 4) 3)))
(cbrt.f64 (*.f64 1/1728 (pow.f64 (*.f64 im im) 6)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) 1/12)) 1))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 0 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (fma.f64 (pow.f64 im 4) 1/12 2) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 4) 1/12 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))) (*.f64 1/2 (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))) (*.f64 1/2 (sin.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (neg.f64 (sin.f64 re))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (pow.f64 (sin.f64 re) 2)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))) (-.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 -1/4 (*.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)))) (+.f64 (sin.f64 re) (*.f64 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) -1/2)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4))) (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3)) (*.f64 1/2 (sin.f64 re))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 4)) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)))
(/.f64 (*.f64 (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))) (fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (-.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2) 4))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (+.f64 -2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) 4)) (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))) (-.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 4 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 2)))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 1)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 3) 1/3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))) 3)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))) 2)
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 2))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (exp.f64 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(log.f64 (*.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))) 3))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)) 3)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sin.f64 re) 1 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sin.f64 re) 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 (pow.f64 im 4) 1/12 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (cbrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(fma.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (cbrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(fma.f64 (cbrt.f64 (sin.f64 re)) (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))))) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (fma.f64 (pow.f64 im 4) 1/12 2) (*.f64 1/2 (sin.f64 re)) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (sin.f64 re))
(fma.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))))) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(fma.f64 (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))))) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 2 (sin.f64 re)) 1/2 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sin.f64 re)) 1/2 (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 2 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 2 (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2)) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12)))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (sin.f64 re))
(fma.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) (*.f64 1/2 (*.f64 (sin.f64 re) (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))))) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1/2) (sin.f64 re) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2)) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(fma.f64 (*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (sin.f64 re)))
(*.f64 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 2)) (*.f64 1/2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))) 1)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(-.f64 (/.f64 (*.f64 1/144 (pow.f64 im 8)) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(*.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 1 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 2) (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(*.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))))
(pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)
(*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (/.f64 1 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) 1) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(*.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (/.f64 1 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 1 (/.f64 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6))) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6))))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) 1) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 1 (/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)) (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6))))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) 1) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (-.f64 (*.f64 1/144 (pow.f64 im 8)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) 1) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 (neg.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6))) (neg.f64 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6)))))
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) 1) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (neg.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4))) (neg.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(/.f64 (-.f64 (pow.f64 im 4) (*.f64 1/144 (pow.f64 im 8))) (-.f64 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12)))
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 1)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (cbrt.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 3)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (hypot.f64 im (*.f64 (*.f64 im im) (sqrt.f64 1/12))) 2)
(pow.f64 (hypot.f64 im (*.f64 im (*.f64 im (sqrt.f64 1/12)))) 2)
(pow.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3) 1/3)
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(pow.f64 (/.f64 (-.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 6))) (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6))) -1)
(/.f64 (*.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) 1) (+.f64 (fma.f64 1/144 (pow.f64 im 8) (pow.f64 im 4)) (*.f64 -1/12 (pow.f64 im 6))))
(/.f64 (fma.f64 1/1728 (pow.f64 (pow.f64 im 4) 3) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 im im) 6) (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 1/144 (pow.f64 im 8) (*.f64 -1/12 (pow.f64 im 6)))))
(pow.f64 (/.f64 (-.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im)) (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4))) -1)
(/.f64 (-.f64 (*.f64 1/144 (pow.f64 im 8)) (pow.f64 im 4)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 im im)))
(/.f64 (fma.f64 (pow.f64 im 8) -1/144 (pow.f64 im 4)) (fma.f64 (pow.f64 im 4) -1/12 (*.f64 im im)))
(sqrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 2))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (exp.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (pow.f64 (exp.f64 im) im)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/12) (pow.f64 im 4)) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12))) (+.f64 1 (expm1.f64 (*.f64 im im)))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (pow.f64 (exp.f64 1/12) (pow.f64 im 4))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (pow.f64 (exp.f64 im) im) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im im))) (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) 1/12)))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(cbrt.f64 (pow.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)) 3))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(expm1.f64 (log1p.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(log1p.f64 (expm1.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(exp.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))) 1))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 im im (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 im 4) 1/12 (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 (pow.f64 im 4) 1/12) 1 (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 im im) 1 (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 im im) (*.f64 (*.f64 im im) 1/12) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 1 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 1 (*.f64 im im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (cbrt.f64 (*.f64 (pow.f64 im 4) 1/12)) (*.f64 im im))
(fma.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/144 (pow.f64 im 8))) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (pow.f64 im 4)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 (cbrt.f64 (pow.f64 im 4)) 1/12) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (*.f64 im im))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (sqrt.f64 im) (*.f64 (sqrt.f64 im) im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 im (sqrt.f64 im)) (sqrt.f64 im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 (sqrt.f64 (cbrt.f64 (pow.f64 im 8))) (sqrt.f64 (cbrt.f64 (pow.f64 im 4))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 1/12 (*.f64 im im)) (*.f64 im im) (*.f64 im im))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 im (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im) (*.f64 (pow.f64 im 4) 1/12))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(fma.f64 (*.f64 1/12 (cbrt.f64 (pow.f64 im 8))) (cbrt.f64 (pow.f64 im 4)) (*.f64 im im))
(fma.f64 (cbrt.f64 (pow.f64 im 8)) (*.f64 1/12 (cbrt.f64 (pow.f64 im 4))) (*.f64 im im))

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 26 to 14 computations (46.2% saved)

series8.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

Compiled 292 to 236 computations (19.2% saved)

rewrite44.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
930×pow1_binary64
866×add-log-exp_binary64
865×log1p-expm1-u_binary64
865×expm1-log1p-u_binary64
850×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify48.0ms (0.5%)

Algorithm
egg-herbie
Rules
663×fma-def_binary64
439×div-sub_binary64
421×log-prod_binary64
282×exp-sum_binary64
266×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
085551
1241547
2781537
32696533
46292533
Stop Event
node limit
Counts
45 → 44
Calls
Call 1
Inputs
re
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re)) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re)) re)
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re)) re)
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(+.f64 (*.f64 2 (*.f64 1/2 re)) (*.f64 (*.f64 im im) (*.f64 1/2 re)))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) (*.f64 2 (*.f64 1/2 re)))
(+.f64 (*.f64 (*.f64 1/2 re) 2) (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(+.f64 (*.f64 (*.f64 1/2 re) (*.f64 im im)) (*.f64 (*.f64 1/2 re) 2))
(-.f64 (+.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 1)
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 re)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 re)) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 1/2 re) (+.f64 8 (pow.f64 im 6))) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (*.f64 (*.f64 1/2 re) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 re)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 re) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
Outputs
re
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 im) -2)) re)
(*.f64 re (*.f64 1/2 (pow.f64 (/.f64 1 im) -2)))
(*.f64 im (*.f64 1/2 (*.f64 re im)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 (*.f64 1/2 (pow.f64 (/.f64 1 im) -2)) re)
(*.f64 re (*.f64 1/2 (pow.f64 (/.f64 1 im) -2)))
(*.f64 im (*.f64 1/2 (*.f64 re im)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re)) re)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 2 (*.f64 1/2 re)) (*.f64 (*.f64 im im) (*.f64 1/2 re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) (*.f64 2 (*.f64 1/2 re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 (*.f64 1/2 re) 2) (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 (*.f64 (*.f64 1/2 re) (*.f64 im im)) (*.f64 (*.f64 1/2 re) 2))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(-.f64 (+.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 1)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 re)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (*.f64 re 1/2) (/.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 -2 (*.f64 im im))) (+.f64 8 (pow.f64 im 6))))
(*.f64 (/.f64 (*.f64 re 1/2) (+.f64 4 (fma.f64 (*.f64 im -2) im (pow.f64 im 4)))) (+.f64 8 (pow.f64 im 6)))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 re (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) 1/2)))
(/.f64 re (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (fma.f64 1/2 (pow.f64 im 6) 4)))
(*.f64 (/.f64 re (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)) (fma.f64 1/2 (pow.f64 im 6) 4))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 re)) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 re 1/2) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 re 1/2) (-.f64 2 (*.f64 im im))) (-.f64 4 (pow.f64 im 4)))
(*.f64 (*.f64 re 1/2) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 re (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 4 (/.f64 im (/.f64 1/2 im)))))
(/.f64 (*.f64 (*.f64 1/2 re) (+.f64 8 (pow.f64 im 6))) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (*.f64 re 1/2) (/.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 -2 (*.f64 im im))) (+.f64 8 (pow.f64 im 6))))
(*.f64 (/.f64 (*.f64 re 1/2) (+.f64 4 (fma.f64 (*.f64 im -2) im (pow.f64 im 4)))) (+.f64 8 (pow.f64 im 6)))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 re (/.f64 (fma.f64 (*.f64 im im) (fma.f64 im im -2) 4) 1/2)))
(/.f64 re (/.f64 (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4) (fma.f64 1/2 (pow.f64 im 6) 4)))
(*.f64 (/.f64 re (fma.f64 im (*.f64 im (fma.f64 im im -2)) 4)) (fma.f64 1/2 (pow.f64 im 6) 4))
(/.f64 (*.f64 (*.f64 1/2 re) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 re 1/2) (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 re 1/2) (-.f64 2 (*.f64 im im))) (-.f64 4 (pow.f64 im 4)))
(*.f64 (*.f64 re 1/2) (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(*.f64 re (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 4 (/.f64 im (/.f64 1/2 im)))))
(pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) 1/3)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 3)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) 2)
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 2))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 re)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 re) 3)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 re) 3) (pow.f64 (fma.f64 im im 2) 3)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(*.f64 (*.f64 re 1/2) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))

localize7.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
6.7b
(*.f64 re (*.f64 im im))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

Compiled 208 to 160 computations (23.1% saved)

rewrite36.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
458×pow1_binary64
435×add-sqr-sqrt_binary64
429×*-un-lft-identity_binary64
421×add-log-exp_binary64
421×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify41.0ms (0.4%)

Algorithm
egg-herbie
Rules
664×log-prod_binary64
557×distribute-rgt-in_binary64
546×distribute-lft-in_binary64
410×associate-*l*_binary64
355×associate-*r*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044245
1104245
2355245
32229245
47763245
Stop Event
node limit
Counts
35 → 16
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 im 2) re)
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(-.f64 (+.f64 1 (*.f64 re (*.f64 im im))) 1)
(pow.f64 (*.f64 re (*.f64 im im)) 1)
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 im im))) 3)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(sqrt.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 im im))))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 re (*.f64 im im))))
Outputs
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(*.f64 (pow.f64 (/.f64 -1 im) -2) re)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(-.f64 (+.f64 1 (*.f64 re (*.f64 im im))) 1)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(pow.f64 (*.f64 re (*.f64 im im)) 1)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3) 1/3)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 im im))) 3)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(sqrt.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))
(exp.f64 (log.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 im re))

eval130.0ms (1.3%)

Compiler

Compiled 6666 to 4391 computations (34.1% saved)

prune66.0ms (0.7%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New3324336
Fresh011
Picked101
Done077
Total33312345
Error
0b
Counts
345 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
47.1b
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
32.2b
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) (*.f64 2 (*.f64 1/2 re)))
0.4b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
0.4b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
32.2b
(*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 re))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
32.1b
(*.f64 re (cosh.f64 im))
60.9b
(*.f64 im (*.f64 1/2 (*.f64 re im)))
60.9b
(*.f64 1/2 (*.f64 re (*.f64 im im)))
0.8b
(sin.f64 re)
32.4b
re
Compiler

Compiled 122 to 88 computations (27.9% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 7 computations (65% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

Compiled 256 to 208 computations (18.8% saved)

rewrite62.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

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

simplify38.0ms (0.4%)

Algorithm
egg-herbie
Rules
993×log-prod_binary64
667×associate-*l*_binary64
606×associate-*r*_binary64
488×distribute-rgt-in_binary64
454×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
053350
1133350
2458350
33285350
Stop Event
node limit
Counts
35 → 17
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 re (*.f64 im im)))) 1)
(pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) 3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(sqrt.f64 (*.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)) 1/4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))))
Outputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 re (*.f64 im im)))) 1)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 1)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 3) 1/3)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) 3)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(sqrt.f64 (*.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)) 1/4))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 re) (*.f64 im im)) 1/2))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 3))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 9 computations (55% saved)

series11.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

Compiled 448 to 352 computations (21.4% saved)

rewrite68.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

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

simplify37.0ms (0.4%)

Algorithm
egg-herbie
Rules
716×distribute-rgt-in_binary64
681×distribute-lft-in_binary64
512×fma-def_binary64
485×log-prod_binary64
478×associate-+r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
075513
1180480
2693447
32653447
Stop Event
node limit
Counts
48 → 33
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(-.f64 (+.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 1)
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 2))
(log.f64 (pow.f64 (exp.f64 (*.f64 im 1/2)) (*.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (*.f64 im (*.f64 1/2 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 1/2 re)) 3) (pow.f64 im 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(-.f64 (+.f64 1 (*.f64 im (*.f64 1/2 re))) 1)
(pow.f64 (*.f64 im (*.f64 1/2 re)) 1)
(pow.f64 (pow.f64 (*.f64 im (*.f64 1/2 re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 re))) 3)
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 1/2 re))) 2)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im re) 2)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 1/2 re))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 1/2 re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 1/2 re))))
Outputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3)
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 3)
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 2)
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 2))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im 1/2)) (*.f64 im re)))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(cbrt.f64 (*.f64 (pow.f64 im 3) (pow.f64 (*.f64 im (*.f64 1/2 re)) 3)))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (*.f64 1/2 re)) 3) (pow.f64 im 3)))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(*.f64 1/2 (*.f64 (*.f64 im im) re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 1/2 re))) 1)
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(pow.f64 (*.f64 im (*.f64 1/2 re)) 1)
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(pow.f64 (pow.f64 (*.f64 im (*.f64 1/2 re)) 3) 1/3)
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 1/2 re))) 3)
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(pow.f64 (sqrt.f64 (*.f64 im (*.f64 1/2 re))) 2)
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im re) 2)))
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im re)))
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 1/2 re)) 3))
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 1/2 re))))
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 1/2 re))))
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))
(exp.f64 (log.f64 (*.f64 im (*.f64 1/2 re))))
(+.f64 1 (-.f64 (*.f64 im (*.f64 1/2 re)) 1))
(+.f64 (*.f64 1/2 (*.f64 im re)) 0)
(*.f64 1/2 (*.f64 im re))

localize14.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 37 to 22 computations (40.5% saved)

series4.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

Compiled 256 to 208 computations (18.8% saved)

rewrite39.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

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

simplify35.0ms (0.4%)

Algorithm
egg-herbie
Rules
858×log-prod_binary64
588×associate-*l*_binary64
566×distribute-rgt-in_binary64
553×distribute-lft-in_binary64
536×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054355
1136355
2447355
33015352
Stop Event
node limit
Counts
35 → 22
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im 1/2) re))) 1)
(pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re)) 1)
(pow.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re)) 3) 1/3)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))) 3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) 2)
(sqrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 re) 1/2) (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))))
Outputs
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 (/.f64 -1 im) -2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(-.f64 (+.f64 1 (*.f64 im (*.f64 (*.f64 im 1/2) re))) 1)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re)) 1)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re)) 3) 1/3)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))) 3)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) 2)
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(sqrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)))
(sqrt.f64 (*.f64 (*.f64 re re) (*.f64 1/4 (pow.f64 im 4))))
(sqrt.f64 (*.f64 re (*.f64 re (*.f64 1/4 (pow.f64 im 4)))))
(sqrt.f64 (*.f64 (*.f64 re (*.f64 re 1/4)) (pow.f64 im 4)))
(fabs.f64 (*.f64 1/2 (*.f64 im (*.f64 im re))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 re) 1/2) (*.f64 im im)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re)) 3))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(exp.f64 (log.f64 (*.f64 im (*.f64 (*.f64 im 1/2) re))))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 im (*.f64 im (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 re (cosh.f64 im))
0.2b
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
Compiler

Compiled 23 to 8 computations (65.2% saved)

series3.0s (31%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0s
re
@0
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
1.0s
re
@-inf
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
952.0ms
re
@inf
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
3.0ms
im
@0
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
2.0ms
im
@inf
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
Compiler

Compiled 317944 to 215424 computations (32.2% saved)

rewrite45.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
651×pow1_binary64
603×add-log-exp_binary64
602×log1p-expm1-u_binary64
602×expm1-log1p-u_binary64
588×add-exp-log_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify42.0ms (0.4%)

Algorithm
egg-herbie
Rules
513×distribute-rgt-in_binary64
489×associate-*l*_binary64
470×associate-*r*_binary64
334×fma-neg_binary64
274×log-prod_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0111712
1274552
2692415
33770388
Stop Event
node limit
Counts
42 → 57
Calls
Call 1
Inputs
(pow.f64 (sqrt.f64 re) 2)
(+.f64 (pow.f64 (sqrt.f64 re) 2) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (pow.f64 (sqrt.f64 re) 2) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 4) (-.f64 (+.f64 (*.f64 1/24 re) (*.f64 1/16 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 re) 2)))) (pow.f64 (*.f64 1/4 (/.f64 re (sqrt.f64 re))) 2)))))
(+.f64 (pow.f64 (sqrt.f64 re) 2) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (*.f64 (pow.f64 im 4) (-.f64 (+.f64 (*.f64 1/24 re) (*.f64 1/16 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 re) 2)))) (pow.f64 (*.f64 1/4 (/.f64 re (sqrt.f64 re))) 2))))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(-.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) 1)
(*.f64 re (cosh.f64 im))
(*.f64 (cosh.f64 im) re)
(*.f64 (*.f64 re (cosh.f64 im)) 1)
(*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (sqrt.f64 (*.f64 re (cosh.f64 im))))
(*.f64 1 (*.f64 re (cosh.f64 im)))
(*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 2))
(*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im)))) (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 2) (cbrt.f64 (*.f64 re (cosh.f64 im))))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (cosh.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) re))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (cosh.f64 im)))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 1/4) (*.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 1/4) (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) re))
(*.f64 (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (pow.f64 (*.f64 re (cosh.f64 im)) 1/4)) (pow.f64 (*.f64 re (cosh.f64 im)) 1/4))
(*.f64 (*.f64 re (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 re (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (*.f64 re (cosh.f64 im)))) (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (sqrt.f64 re)) (sqrt.f64 (cosh.f64 im)))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 2)
(/.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 re) (cosh.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 re (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 re (cosh.f64 im))))
Outputs
(pow.f64 (sqrt.f64 re) 2)
re
(+.f64 (pow.f64 (sqrt.f64 re) 2) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (pow.f64 (sqrt.f64 re) 2) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(fma.f64 re (*.f64 1/2 (*.f64 im im)) re)
(fma.f64 re (*.f64 im (*.f64 1/2 im)) re)
(+.f64 (pow.f64 (sqrt.f64 re) 2) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (*.f64 (pow.f64 im 4) (-.f64 (+.f64 (*.f64 1/24 re) (*.f64 1/16 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 re) 2)))) (pow.f64 (*.f64 1/4 (/.f64 re (sqrt.f64 re))) 2)))))
(+.f64 (pow.f64 (sqrt.f64 re) 2) (fma.f64 1/2 (*.f64 re (*.f64 im im)) (*.f64 (pow.f64 im 4) (-.f64 (fma.f64 1/24 re (*.f64 1/16 (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 re) 2)))) (pow.f64 (*.f64 1/4 (/.f64 re (sqrt.f64 re))) 2)))))
(+.f64 re (fma.f64 1/2 (*.f64 re (*.f64 im im)) (*.f64 (pow.f64 im 4) (-.f64 (fma.f64 re 1/24 (*.f64 1/16 (/.f64 re (/.f64 re re)))) (*.f64 1/16 (/.f64 re (/.f64 re re)))))))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (fma.f64 (pow.f64 im 4) (fma.f64 re 1/24 0) re))
(fma.f64 re (*.f64 im (*.f64 1/2 im)) (fma.f64 (pow.f64 im 4) (*.f64 re 1/24) re))
(+.f64 (pow.f64 (sqrt.f64 re) 2) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) re)) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (*.f64 (pow.f64 im 4) (-.f64 (+.f64 (*.f64 1/24 re) (*.f64 1/16 (/.f64 (pow.f64 re 2) (pow.f64 (sqrt.f64 re) 2)))) (pow.f64 (*.f64 1/4 (/.f64 re (sqrt.f64 re))) 2))))))
(+.f64 (pow.f64 (sqrt.f64 re) 2) (fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (*.f64 (pow.f64 im 4) (-.f64 (fma.f64 1/24 re (*.f64 1/16 (/.f64 (*.f64 re re) (pow.f64 (sqrt.f64 re) 2)))) (pow.f64 (*.f64 1/4 (/.f64 re (sqrt.f64 re))) 2))))))
(+.f64 (fma.f64 (pow.f64 im 4) (-.f64 (fma.f64 re 1/24 (*.f64 1/16 (/.f64 re (/.f64 re re)))) (*.f64 1/16 (/.f64 re (/.f64 re re)))) (*.f64 re (*.f64 (pow.f64 im 6) 1/720))) (fma.f64 1/2 (*.f64 re (*.f64 im im)) re))
(+.f64 re (fma.f64 (pow.f64 im 4) (fma.f64 re 1/24 0) (*.f64 re (+.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 re (*.f64 re (+.f64 (+.f64 (*.f64 im (*.f64 1/2 im)) (*.f64 1/720 (pow.f64 im 6))) (*.f64 1/24 (pow.f64 im 4)))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))) 2)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))) 2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (*.f64 1/2 (*.f64 2 (cosh.f64 im))))
(-.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) 1)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 re (cosh.f64 im))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 (cosh.f64 im) re)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 re (cosh.f64 im)) 1)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (sqrt.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 1 (*.f64 re (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 2))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im)))) (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))))))
(*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im)))) (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 2) (cbrt.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (*.f64 (cbrt.f64 (cosh.f64 im)) re))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 1/4) (*.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 1/4) (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (sqrt.f64 (cosh.f64 im)) (*.f64 (sqrt.f64 (cosh.f64 im)) re))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (pow.f64 (*.f64 re (cosh.f64 im)) 1/4)) (pow.f64 (*.f64 re (cosh.f64 im)) 1/4))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 re (pow.f64 (cbrt.f64 (cosh.f64 im)) 2)) (cbrt.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 re (sqrt.f64 (cosh.f64 im))) (sqrt.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 (cosh.f64 im) (sqrt.f64 re)) (sqrt.f64 re))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (*.f64 re (cosh.f64 im)))) (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))))))
(*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (*.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 re (cosh.f64 im)))) (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (cbrt.f64 (*.f64 re (cosh.f64 im)))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) (sqrt.f64 re)) (sqrt.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 2)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(/.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2)
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(sqrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 2))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(log.f64 (pow.f64 (exp.f64 re) (cosh.f64 im)))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(cbrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(expm1.f64 (log1p.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(log1p.f64 (expm1.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 re (cosh.f64 im))))
(+.f64 1 (-.f64 (*.f64 re (cosh.f64 im)) 1))
(+.f64 (*.f64 re (cosh.f64 im)) 0)
(*.f64 re (cosh.f64 im))

eval44.0ms (0.4%)

Compiler

Compiled 2198 to 1236 computations (43.8% saved)

prune32.0ms (0.3%)

Pruning

14 alts after pruning (5 fresh and 9 done)

PrunedKeptTotal
New1774181
Fresh011
Picked011
Done2810
Total17914193
Error
0b
Counts
193 → 14
Alt Table
Click to see full alt table
StatusErrorProgram
47.1b
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
61.2b
(-.f64 (+.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 1)
32.2b
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 2 (*.f64 1/2 re)))
0.4b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
0.4b
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
32.2b
(*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 re))
60.9b
(*.f64 (*.f64 im im) (*.f64 1/2 re))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.3b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
32.1b
(*.f64 re (cosh.f64 im))
60.9b
(*.f64 im (*.f64 1/2 (*.f64 re im)))
61.2b
(*.f64 1/2 (-.f64 (+.f64 1 (*.f64 re (*.f64 im im))) 1))
0.8b
(sin.f64 re)
32.4b
re
Compiler

Compiled 148 to 108 computations (27% saved)

regimes80.0ms (0.8%)

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

7 calls:

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

Compiled 251 to 150 computations (40.2% saved)

regimes72.0ms (0.7%)

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

4 calls:

30.0ms
re
19.0ms
(sin.f64 re)
9.0ms
im
9.0ms
(*.f64 1/2 (sin.f64 re))
Results
ErrorSegmentsBranch
0.3b1re
0.3b1im
0.3b1(*.f64 1/2 (sin.f64 re))
0.3b1(sin.f64 re)
Compiler

Compiled 181 to 105 computations (42% saved)

regimes32.0ms (0.3%)

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

3 calls:

10.0ms
(sin.f64 re)
10.0ms
re
7.0ms
im
Results
ErrorSegmentsBranch
0.4b1re
0.4b1im
0.4b1(sin.f64 re)
Compiler

Compiled 136 to 77 computations (43.4% saved)

regimes27.0ms (0.3%)

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

3 calls:

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

Compiled 125 to 73 computations (41.6% saved)

regimes24.0ms (0.2%)

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

3 calls:

7.0ms
im
7.0ms
(sin.f64 re)
6.0ms
re
Results
ErrorSegmentsBranch
0.8b1re
0.8b1im
0.8b1(sin.f64 re)
Compiler

Compiled 105 to 61 computations (41.9% saved)

regimes15.0ms (0.2%)

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

2 calls:

5.0ms
re
5.0ms
im
Results
ErrorSegmentsBranch
32.2b1re
32.2b1im
Compiler

Compiled 87 to 53 computations (39.1% saved)

regimes12.0ms (0.1%)

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

2 calls:

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

Compiled 61 to 36 computations (41% saved)

regimes9.0ms (0.1%)

Accuracy

Total -28.9b remaining (-89.3%)

Threshold costs -28.9b (-89.3%)

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

2 calls:

5.0ms
re
4.0ms
im
Results
ErrorSegmentsBranch
32.4b1re
32.4b1im
Compiler

Compiled 30 to 17 computations (43.3% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
034110
159110
261110
362110
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 2 (*.f64 1/2 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 re))
re
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (+.f64 (*.f64 (pow.f64 im 4) 1/12) (*.f64 im im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (+.f64 (*.f64 1/2 (*.f64 im im)) 1) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 im im)) 1))
(sin.f64 re)
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 2 (*.f64 1/2 re)))
(*.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/2 re))
(*.f64 (*.f64 1/2 re) (+.f64 2 (*.f64 im im)))
re
Compiler

Compiled 89 to 65 computations (27% saved)

soundness148.0ms (1.5%)

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

Useful iterations: 3 (0.0ms)

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

Compiled 27 to 21 computations (22.2% saved)

end52.0ms (0.5%)

Compiler

Compiled 75 to 44 computations (41.3% saved)

Profiling

Loading profile data...