Details

Time bar (total: 8.0s)

analyze173.0ms (2.2%)

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.9s (49.4%)

Results
1.2s2106×body1024valid
867.0ms5127×body256valid
833.0ms2041×body1024infinite
418.0ms1019×body512valid
315.0ms1049×body512infinite
243.0ms1601×body256infinite
31.0msbody2048valid
Bogosity

preprocess81.0ms (1%)

Algorithm
egg-herbie
Rules
1508×distribute-lft-neg-out
1104×times-frac
1044×associate-*r*
886×associate-*r/
864×unswap-sqr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
15070
213070
323466
439666
558466
696566
7245666
8484966
9537666
10693066
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) (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 1/2 (*.f64 (sin.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (*.f64 1/2 (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)

simplify96.0ms (1.2%)

Algorithm
egg-herbie
Rules
1680×unswap-sqr
1028×associate-/r*
996×fma-def
676×*-commutative
576×associate-/l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
12935
27035
312333
420533
530233
649733
7125533
8318633
9354133
10397233
11588733
12689833
Stop Event
node limit
Counts
1 → 4
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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 47 to 25 computations (46.8% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 26 to 19 computations (26.9% saved)

localize13.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

Compiled 32 to 16 computations (50% saved)

series11.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite78.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1024×*-commutative
726×unswap-sqr
610×swap-sqr
466×associate-*r/
430×sqr-pow
Iterations

Useful iterations: 0 (0.0ms)

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

simplify139.0ms (1.7%)

Algorithm
egg-herbie
Rules
1238×associate-*r/
1070×associate-+r+
1066×associate-*l/
1038×associate-*r*
920×associate-+l+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03135657
18735189
245495189
Stop Event
node limit
Counts
143 → 185
Calls
Call 1
Inputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(+.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) -1)
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) 1)
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(*.f64 -1/2 (/.f64 -1 (exp.f64 im)))
(*.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 1 (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1 (cbrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 1/2 (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1/2 (cbrt.f64 (exp.f64 im))))
(*.f64 -1 (/.f64 1 (*.f64 (exp.f64 im) -2)))
(*.f64 (/.f64 -1 (exp.f64 im)) -1/2)
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2))
(*.f64 (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6) (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6))
(*.f64 (pow.f64 (*.f64 (exp.f64 im) 2) -1/2) (pow.f64 (*.f64 (exp.f64 im) 2) -1/2))
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(sqrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(exp.f64 (-.f64 (log.f64 1/2) im))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) -1)
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) (-.f64 1 (*.f64 1/2 (exp.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(-.f64 (+.f64 (*.f64 1/2 (exp.f64 im)) (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))) 1)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2)
(*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 1 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6) (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6))
(/.f64 1 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))))
(/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (-.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (*.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) 1) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) 1) (+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) -1)
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(+.f64 (*.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 1 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) 1) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) 1)
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (sin.f64 re)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 1)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 2)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
Outputs
1/2
(+.f64 1/2 (*.f64 -1/2 im))
(fma.f64 -1/2 im 1/2)
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (*.f64 -1/2 im)))
(+.f64 1/2 (fma.f64 -1/2 im (*.f64 im (*.f64 im 1/4))))
(+.f64 (fma.f64 -1/2 im 1/2) (*.f64 im (*.f64 im 1/4)))
(+.f64 1/2 (+.f64 (*.f64 1/4 (pow.f64 im 2)) (+.f64 (*.f64 -1/2 im) (*.f64 -1/12 (pow.f64 im 3)))))
(+.f64 1/2 (fma.f64 1/4 (*.f64 im im) (fma.f64 -1/2 im (*.f64 -1/12 (pow.f64 im 3)))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (*.f64 -1/6 (pow.f64 re 3)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 1/120 (pow.f64 re 5)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))) (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))))))
(fma.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (fma.f64 -1/6 (*.f64 (pow.f64 re 3) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 1/120 (pow.f64 re 5)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(+.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (+.f64 re (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (fma.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4) (*.f64 (*.f64 1/720 (pow.f64 im 6)) (sin.f64 re)))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 (*.f64 1/720 (pow.f64 im 6)) (sin.f64 re))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (/.f64 1 (exp.f64 im))) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) -1)
(/.f64 1/2 (exp.f64 im))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) 1)
(/.f64 1/2 (exp.f64 im))
(*.f64 1/2 (exp.f64 (neg.f64 im)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 1/2 (exp.f64 im)) 1)
(/.f64 1/2 (exp.f64 im))
(*.f64 1 (/.f64 1/2 (exp.f64 im)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (cbrt.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (exp.f64 (neg.f64 im)) 1/2)
(/.f64 1/2 (exp.f64 im))
(*.f64 -1/2 (/.f64 -1 (exp.f64 im)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 1 (sqrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1 (cbrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)))
(/.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2))
(*.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 1/2 (sqrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (/.f64 1 (sqrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1/2 (cbrt.f64 (exp.f64 im))))
(*.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 1 (cbrt.f64 (exp.f64 im))))
(/.f64 (/.f64 1/2 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)))
(/.f64 (/.f64 1/2 (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2))
(*.f64 -1 (/.f64 1 (*.f64 (exp.f64 im) -2)))
(/.f64 1/2 (exp.f64 im))
(*.f64 (/.f64 -1 (exp.f64 im)) -1/2)
(/.f64 1/2 (exp.f64 im))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (/.f64 1/2 (exp.f64 im)))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) (sqrt.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))))))
(/.f64 1/2 (exp.f64 im))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im)))) (cbrt.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))))))
(*.f64 (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2) (pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3/2))
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6) (pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/6))
(/.f64 1/2 (exp.f64 im))
(*.f64 (pow.f64 (*.f64 (exp.f64 im) 2) -1/2) (pow.f64 (*.f64 (exp.f64 im) 2) -1/2))
(/.f64 1/2 (exp.f64 im))
(pow.f64 (/.f64 1/2 (exp.f64 im)) 1)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (sqrt.f64 (/.f64 1/2 (exp.f64 im))) 2)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (cbrt.f64 (/.f64 1/2 (exp.f64 im))) 3)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) 1/3)
(/.f64 1/2 (exp.f64 im))
(pow.f64 (*.f64 (exp.f64 im) 2) -1)
(/.f64 1/2 (exp.f64 im))
(sqrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2))
(fabs.f64 (/.f64 1/2 (exp.f64 im)))
(log.f64 (exp.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1/2 (exp.f64 im)))))
(/.f64 1/2 (exp.f64 im))
(cbrt.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3))
(/.f64 1/2 (exp.f64 im))
(expm1.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(exp.f64 (-.f64 (log.f64 1/2) im))
(/.f64 1/2 (exp.f64 im))
(log1p.f64 (expm1.f64 (/.f64 1/2 (exp.f64 im))))
(/.f64 1/2 (exp.f64 im))
(+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 1/2 (exp.f64 im)) (/.f64 1/2 (exp.f64 im)))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) -1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im)))) (-.f64 1 (*.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.f64 (*.f64 1/2 (exp.f64 im)) (exp.f64 (log1p.f64 (/.f64 1/2 (exp.f64 im))))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 1 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (/.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im)))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(*.f64 (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (sqrt.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2) (cbrt.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2) (pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3/2))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6) (pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/6))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(/.f64 1 (/.f64 (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 1 (/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (-.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 1 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) 1) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))))
(/.f64 (-.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (*.f64 (pow.f64 (exp.f64 im) 2) 1/4)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 2) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 (exp.f64 im) -2)) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) 1) (+.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) 1))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))) (+.f64 1 (exp.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))))
(pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 1)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(pow.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3) 1/3)
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 2))
(fabs.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (exp.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(exp.f64 (log.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) -1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 1 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) 1) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 1))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2)))) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (sin.f64 re))
(/.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3))) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))) (sin.f64 re)))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (sin.f64 re)))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (sin.f64 re)) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) 1/2) (/.f64 (sin.f64 re) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 -1/4 (pow.f64 (exp.f64 im) -2))) (/.f64 2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (sin.f64 re))
(/.f64 (*.f64 (+.f64 (pow.f64 (/.f64 1/2 (exp.f64 im)) 3) (pow.f64 (*.f64 1/2 (exp.f64 im)) 3)) (sin.f64 re)) (+.f64 (*.f64 (pow.f64 (exp.f64 im) 2) 1/4) (*.f64 (/.f64 1/2 (exp.f64 im)) (-.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (exp.f64 im))))))
(/.f64 (+.f64 (/.f64 1/8 (pow.f64 (exp.f64 im) 3)) (*.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 (pow.f64 (exp.f64 im) 2) 1/4 (*.f64 (/.f64 1/2 (exp.f64 im)) (+.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 -1/2 (exp.f64 im))))) (sin.f64 re)))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 1/4 (pow.f64 (exp.f64 im) 2) (*.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (sin.f64 re)))
(/.f64 (fma.f64 1/8 (pow.f64 (exp.f64 im) 3) (/.f64 1/8 (pow.f64 (exp.f64 im) 3))) (/.f64 (fma.f64 (/.f64 1/2 (exp.f64 im)) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 1/4 (pow.f64 (exp.f64 im) 2))) (sin.f64 re)))
(/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))) (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))) (-.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im))))
(/.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (-.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 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) (/.f64 (/.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2) (/.f64 (*.f64 (sin.f64 re) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) 2)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))) 1))
(/.f64 (*.f64 (+.f64 1 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))) (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))) (+.f64 1 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))
(/.f64 (expm1.f64 (*.f64 2 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))) (+.f64 1 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) 3) (pow.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) 3)) (+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im)))) (-.f64 (*.f64 (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))) (*.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (exp.f64 im))) (*.f64 (/.f64 1/2 (exp.f64 im)) (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) 3) (pow.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)) 3)) (fma.f64 (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re)) (*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)) (-.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)) (*.f64 (*.f64 1/2 (exp.f64 im)) (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 3) (pow.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))) 3)) (fma.f64 (*.f64 (sin.f64 re) (/.f64 1/2 (exp.f64 im))) (*.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (sin.f64 re) (*.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (exp.f64 im) (sin.f64 re))) 3) (pow.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) 3)) (fma.f64 (*.f64 1/2 (/.f64 (sin.f64 re) (exp.f64 im))) (*.f64 (sin.f64 re) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 (sin.f64 re) (*.f64 1/4 (*.f64 (pow.f64 (exp.f64 im) 2) (sin.f64 re))))))
(pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))) 3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3) 1/3)
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 2))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))) 2))
(fabs.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re)) 3))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) 3)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

localize19.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 35 to 13 computations (62.9% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite109.0ms (1.4%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
282×add-sqr-sqrt
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
272×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
127354
2421154
0819
116619
2254619
0819
01335
127335
2421135
01335
Stop Event
iter limit
unsound
iter limit
unsound
unsound
Counts
2 → 19
Calls
Call 1
Inputs
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (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 (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 (-.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 /.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 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 exp.f64 (log.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 +.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 +.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 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 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 log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))))

simplify66.0ms (0.8%)

Algorithm
egg-herbie
Rules
1042×fma-def
1006×associate-/l*
960×unswap-sqr
846×associate-*r/
770×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231889
13671777
215271641
349841631
Stop Event
node limit
Counts
55 → 73
Calls
Call 1
Inputs
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 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1 (+.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 (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 (-.f64 (*.f64 (exp.f64 (neg.f64 im)) (exp.f64 (neg.f64 im))) (*.f64 (exp.f64 im) (exp.f64 im))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(/.f64 (+.f64 (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)))))
(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))))
(exp.f64 (log.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(log1p.f64 (expm1.f64 (+.f64 (exp.f64 (neg.f64 im)) (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 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(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))))))
(exp.f64 (log.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))))))
Outputs
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 1/12 (pow.f64 im 4)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) 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 1/360 (pow.f64 im 6))))
(+.f64 (fma.f64 im im 2) (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6))))
(+.f64 2 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/360 (pow.f64 im 6) 2))
(+.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 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (fma.f64 1/2 re (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (fma.f64 1/2 re (*.f64 1/240 (pow.f64 re 5))) (fma.f64 -1/10080 (pow.f64 re 7) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) 1))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (sin.f64 re) (+.f64 1 (+.f64 (*.f64 (*.f64 im im) 1/2) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))))))
(+.f64 (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re)) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 (*.f64 1/720 (pow.f64 im 6)) (sin.f64 re))))
(+.f64 (sin.f64 re) (fma.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) 1/720)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 (*.f64 im im) 1/2) (+.f64 (*.f64 (pow.f64 im 4) 1/24) (*.f64 (pow.f64 im 6) 1/720)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 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 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 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 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 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 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 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 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(*.f64 1 (+.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 (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 (-.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)))
(/.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)) (fma.f64 (exp.f64 im) (exp.f64 im) -1)))
(/.f64 (+.f64 (exp.f64 (*.f64 im -3)) (pow.f64 (exp.f64 im) 3)) (+.f64 (pow.f64 (exp.f64 im) -2) (expm1.f64 (+.f64 im im))))
(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)))
(exp.f64 (log.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)))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 1/2 (sin.f64 re)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(+.f64 (*.f64 (exp.f64 (neg.f64 im)) (*.f64 1/2 (sin.f64 re))) (*.f64 (exp.f64 im) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(log.f64 (exp.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))) (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) 1/2 (/.f64 1/2 (exp.f64 im))))

eval200.0ms (2.5%)

Compiler

Compiled 5628 to 3084 computations (45.2% saved)

prune45.0ms (0.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2526258
Fresh000
Picked011
Done101
Total2537260
Error
0b
Counts
260 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
35.1b
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
0.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
1.1b
(sin.f64 re)
Compiler

Compiled 153 to 112 computations (26.8% saved)

localize54.0ms (0.7%)

Local error

Found 4 expressions with local error:

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

Compiled 57 to 35 computations (38.6% saved)

series5.0ms (0.1%)

Counts
4 → 48
Calls

15 calls:

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

rewrite131.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
1592×associate-*r/
1356×associate-*l/
404×associate-+l+
368×add-sqr-sqrt
354×*-un-lft-identity
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
017104
137384
2475184
Stop Event
node limit
Counts
4 → 209
Calls
Call 1
Inputs
(*.f64 1/12 (pow.f64 im 4))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (*.f64 im im))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)))) (#(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 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))) (*.f64 2 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 1) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 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/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))) (*.f64 2 (*.f64 1/2 (sin.f64 re))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3))) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (*.f64 1/2 (sin.f64 re))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) 1) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3)) 1) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1/2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1/2) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (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 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (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 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) (-.f64 1 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 im im))) (-.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) (-.f64 1 (*.f64 1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (-.f64 (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (exp.f64 (log1p.f64 (fma.f64 im im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (/.f64 4 (-.f64 2 (*.f64 im im)))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (fma.f64 im im 2) (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (exp.f64 (log1p.f64 (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) 1) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) 1) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) 1) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 2) 3) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (+.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3) (pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))))) (#(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)) (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 im im))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 2 (exp.f64 (log1p.f64 (*.f64 im im)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (fma.f64 im im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 im im 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (+.f64 8 (pow.f64 im 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.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 (pow.f64 im 4) 4) (-.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (neg.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (-.f64 (pow.f64 im 4) 4)) (-.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (-.f64 4 (pow.f64 im 4)))) (neg.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1 (neg.f64 (+.f64 8 (pow.f64 im 6)))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (cbrt.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) 1) (-.f64 2 (*.f64 im im)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 im 4) 4) 1) (-.f64 (*.f64 im im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) 1) (neg.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) 1) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 im 6))) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cbrt.f64 (-.f64 4 (pow.f64 im 4))) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (-.f64 2 (*.f64 im im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 16 (pow.f64 im 8)) (/.f64 1 (-.f64 2 (*.f64 im im)))) (+.f64 4 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 1 (-.f64 2 (*.f64 im im)))) (+.f64 16 (+.f64 (pow.f64 im 8) (*.f64 4 (pow.f64 im 4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 512 (pow.f64 (pow.f64 im 6) 3)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))) (+.f64 64 (-.f64 (pow.f64 (pow.f64 im 4) 3) (*.f64 8 (pow.f64 im 6)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))) (-.f64 8 (pow.f64 im 6)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 im im 2) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 im im 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 im im 2)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 im im 2) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 im im 2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 im im 2) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 im im 2)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 im im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 im im 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 im im) 2)))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 2)))))

simplify190.0ms (2.4%)

Algorithm
egg-herbie
Rules
998×+-commutative
938×associate-*r*
834×associate-+r+
794×associate-*l*
682×associate-+l+
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055314759
1146613621
2645213621
Stop Event
node limit
Counts
257 → 320
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))
(+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
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 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(pow.f64 im 2)
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (pow.f64 im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))))
(+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 1))
(+.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 1) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 2 (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))) (*.f64 2 (*.f64 1/2 (sin.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 1 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3))) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (*.f64 1/2 (sin.f64 re))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) 1) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3)) 1) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1/2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1/2) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) (-.f64 1 (fma.f64 im im 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1)
(-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) (-.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) (-.f64 1 (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (-.f64 (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4))))
(-.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (exp.f64 (log1p.f64 (fma.f64 im im 2)))) 1)
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (/.f64 4 (-.f64 2 (*.f64 im im)))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(-.f64 (+.f64 (fma.f64 im im 2) (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))) 1)
(-.f64 (+.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (exp.f64 (log1p.f64 (*.f64 im im)))) 1)
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 1 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 1 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) 1) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) 1) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) 1) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 2) 3) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (+.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3) (pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3)
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 2))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(fma.f64 1 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (fma.f64 im im 2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) -1)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) 1)
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(-.f64 (+.f64 2 (exp.f64 (log1p.f64 (*.f64 im im)))) 1)
(*.f64 (fma.f64 im im 2) 1)
(*.f64 1 (fma.f64 im im 2))
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)))
(*.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 1 (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(/.f64 1 (/.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (+.f64 8 (pow.f64 im 6))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 im 4) 4) (-.f64 (*.f64 im im) 2))
(/.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 1 (-.f64 (pow.f64 im 4) 4)) (-.f64 (*.f64 im im) 2))
(/.f64 (*.f64 1 (neg.f64 (-.f64 4 (pow.f64 im 4)))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 1 (neg.f64 (+.f64 8 (pow.f64 im 6)))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 (pow.f64 im 4) 4) 1) (-.f64 (*.f64 im im) 2))
(/.f64 (*.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) 1) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) 1) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 im 6))) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 4 (pow.f64 im 4))) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (-.f64 16 (pow.f64 im 8)) (/.f64 1 (-.f64 2 (*.f64 im im)))) (+.f64 4 (pow.f64 im 4)))
(/.f64 (*.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 1 (-.f64 2 (*.f64 im im)))) (+.f64 16 (+.f64 (pow.f64 im 8) (*.f64 4 (pow.f64 im 4)))))
(/.f64 (*.f64 (+.f64 512 (pow.f64 (pow.f64 im 6) 3)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))) (+.f64 64 (-.f64 (pow.f64 (pow.f64 im 4) 3) (*.f64 8 (pow.f64 im 6)))))
(/.f64 (*.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))) (-.f64 8 (pow.f64 im 6)))
(pow.f64 (fma.f64 im im 2) 1)
(pow.f64 (sqrt.f64 (fma.f64 im im 2)) 2)
(pow.f64 (cbrt.f64 (fma.f64 im im 2)) 3)
(pow.f64 (pow.f64 (fma.f64 im im 2) 3) 1/3)
(sqrt.f64 (pow.f64 (fma.f64 im im 2) 2))
(log.f64 (exp.f64 (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))))
(cbrt.f64 (pow.f64 (fma.f64 im im 2) 3))
(expm1.f64 (log1p.f64 (fma.f64 im im 2)))
(exp.f64 (log.f64 (fma.f64 im im 2)))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 2)) 1))
(log1p.f64 (expm1.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(fma.f64 1 (*.f64 im im) 2)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 2)
Outputs
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))
(*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re)
(*.f64 1/2 (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))
(fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re))
(fma.f64 1/2 (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))))
(fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re)))
(fma.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/2 (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 5))) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re)))))
(fma.f64 -1/10080 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (fma.f64 -1/12 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (fma.f64 1/2 (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im 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 (*.f64 (*.f64 im im) 1/2) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/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 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/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 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/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 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/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 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/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 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/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 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)))))
(+.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (sin.f64 re) (*.f64 (fma.f64 im im 2) 1/2)))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(pow.f64 im 2)
(*.f64 im im)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im im 2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 1/12 (pow.f64 im 4)) 1)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) 3)
(*.f64 1/12 (pow.f64 im 4))
(pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(sqrt.f64 (*.f64 (pow.f64 im 8) 1/144))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) 1/12))
(*.f64 1/12 (pow.f64 im 4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 1/12 (pow.f64 im 4))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))
(expm1.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(exp.f64 (*.f64 (log.f64 (*.f64 1/12 (pow.f64 im 4))) 1))
(*.f64 1/12 (pow.f64 im 4))
(log1p.f64 (expm1.f64 (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 2 (*.f64 1/2 (sin.f64 re))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))) (*.f64 2 (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 1))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 1) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 2 (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 (+.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))) (*.f64 2 (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 1/144 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (sin.f64 re) (sin.f64 re))) (*.f64 -1/144 (*.f64 (pow.f64 im 8) (*.f64 1/4 (*.f64 (sin.f64 re) (sin.f64 re)))))) (fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3)) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/1728 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) 3))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (-.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 3))) (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (sin.f64 re) (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) 1/144) (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 1/24)))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(*.f64 (/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 4 (*.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))) (+.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 (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)) (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 1 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re)))) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 1 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re)))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 1 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 1/144 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (sin.f64 re) (sin.f64 re))) (*.f64 -1/144 (*.f64 (pow.f64 im 8) (*.f64 1/4 (*.f64 (sin.f64 re) (sin.f64 re)))))) (fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3))) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/1728 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) 3))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (-.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 3))) (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (sin.f64 re) (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) 1/144) (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 1/24)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (sqrt.f64 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(*.f64 (/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))) (cbrt.f64 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (cbrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (/.f64 (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (/.f64 (cbrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(*.f64 (/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (*.f64 1/2 (sin.f64 re))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 4 (*.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))) (+.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 (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 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) 1) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 1/144 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))))) (+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))
(/.f64 (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (sin.f64 re) (sin.f64 re))) (*.f64 -1/144 (*.f64 (pow.f64 im 8) (*.f64 1/4 (*.f64 (sin.f64 re) (sin.f64 re)))))) (fma.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) (pow.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) 3)) 1) (+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (-.f64 (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 3)) (*.f64 1/1728 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re))) 3))) (+.f64 (*.f64 1/4 (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (*.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (-.f64 (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.f64 1/2 (sin.f64 re)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))))
(/.f64 (fma.f64 1/1728 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 3))) (fma.f64 1/4 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (sin.f64 re) (sin.f64 re))) (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) (-.f64 (*.f64 (*.f64 1/2 (*.f64 (pow.f64 im 4) (sin.f64 re))) 1/144) (*.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 1/24)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (sqrt.f64 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1/2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(*.f64 -1/2 (/.f64 (*.f64 (sin.f64 re) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1/2) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (/.f64 1/2 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))) (*.f64 (sin.f64 re) (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))))
(pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 2)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 3)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(pow.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3) 1/3)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(sqrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(fabs.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (log.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)) (*.f64 1/12 (*.f64 (pow.f64 im 4) (*.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))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4)))) (-.f64 1 (fma.f64 im im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) 1)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) (-.f64 1 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2)))
(+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) 1) (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) 2) (expm1.f64 (log1p.f64 (*.f64 im im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) (-.f64 1 (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (-.f64 (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)))
(-.f64 (/.f64 (pow.f64 (fma.f64 im im 2) 2) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))) (/.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (exp.f64 (log1p.f64 (fma.f64 im im 2)))) 1)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (/.f64 4 (-.f64 2 (*.f64 im im)))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(+.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/12 (pow.f64 im 4)))
(fma.f64 1/12 (pow.f64 im 4) (/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2)))
(-.f64 (+.f64 (fma.f64 im im 2) (exp.f64 (log1p.f64 (*.f64 1/12 (pow.f64 im 4))))) 1)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(-.f64 (+.f64 (+.f64 (*.f64 1/12 (pow.f64 im 4)) 2) (exp.f64 (log1p.f64 (*.f64 im im)))) 1)
(+.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) 1) (fma.f64 1/12 (pow.f64 im 4) 2))
(+.f64 (fma.f64 1/12 (pow.f64 im 4) 2) (expm1.f64 (log1p.f64 (*.f64 im im))))
(*.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 1 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 1 (/.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))) (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))) (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (+.f64 4 (*.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))))
(/.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 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4))
(/.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) 1) (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 1 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2))) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 1 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (*.f64 1 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3))) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (+.f64 4 (*.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))))
(/.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 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4))
(/.f64 (*.f64 1 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 1 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3))) (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (sqrt.f64 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (cbrt.f64 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))))
(/.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) 1) (-.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 (-.f64 4 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))))) 1) (-.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 4 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (-.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) 3)) 1) (+.f64 4 (-.f64 (*.f64 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))) (*.f64 2 (fma.f64 im im (*.f64 1/12 (pow.f64 im 4)))))))
(/.f64 (+.f64 8 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 3)) (+.f64 4 (*.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))))
(/.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 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -2) 4))
(/.f64 (*.f64 (neg.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) 1) (neg.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)) (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))
(/.f64 (*.f64 (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) 1) (neg.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (sqrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3))) (/.f64 (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (sqrt.f64 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (sqrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) (sqrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (sqrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))))
(/.f64 (*.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (cbrt.f64 (+.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(*.f64 (/.f64 (cbrt.f64 (fma.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728 (pow.f64 (fma.f64 im im 2) 3))) (cbrt.f64 (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2))
(/.f64 (*.f64 (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144))) (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)) (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4)))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (/.f64 (cbrt.f64 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12))) (cbrt.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2) (cbrt.f64 (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2)))) (cbrt.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) -1/144))))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 4) (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 im 8)) 1/20736)) (/.f64 (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 4) (*.f64 (pow.f64 im 16) -1/20736)) (*.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))))
(/.f64 (*.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 2) 3) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 im 4))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (pow.f64 (fma.f64 im im 2) 2)) (+.f64 (*.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (pow.f64 im 8) 1/144)) (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (pow.f64 im 8) 1/144)))))
(/.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 2) 3) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (/.f64 (+.f64 (pow.f64 (fma.f64 im im 2) 4) (*.f64 (*.f64 (pow.f64 im 8) 1/144) (+.f64 (*.f64 (pow.f64 im 8) 1/144) (pow.f64 (fma.f64 im im 2) 2)))) (/.f64 1 (+.f64 (fma.f64 im im 2) (*.f64 (pow.f64 im 4) -1/12)))))
(/.f64 (/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 6) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (fma.f64 (pow.f64 im 4) -1/12 (fma.f64 im im 2))) (fma.f64 (*.f64 (pow.f64 im 8) 1/144) (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (pow.f64 (fma.f64 im im 2) 4)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728))) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 6) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (pow.f64 im 4) 3)) 1/2985984)) (/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))))
(/.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 6) (pow.f64 (*.f64 (pow.f64 im 8) 1/144) 3)) (*.f64 (-.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3) (pow.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) 3)) (/.f64 1 (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2)))))) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 im im 2) 3)) (-.f64 (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)) (*.f64 (pow.f64 (fma.f64 im im 2) 3) (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728)))))
(/.f64 (/.f64 (*.f64 (+.f64 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3) (*.f64 (pow.f64 (pow.f64 (pow.f64 im 4) 3) 3) 1/5159780352)) 1) (+.f64 (pow.f64 (fma.f64 im im 2) 2) (-.f64 (*.f64 (pow.f64 im 8) 1/144) (*.f64 1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2)))))) (+.f64 (pow.f64 (fma.f64 im im 2) 6) (*.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (-.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 (pow.f64 im 4) 3) 3) 1/5159780352 (pow.f64 (pow.f64 (fma.f64 im im 2) 3) 3)) (*.f64 (fma.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (-.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) 1/1728) (pow.f64 (fma.f64 im im 2) 3)) (pow.f64 (fma.f64 im im 2) 6)) (+.f64 (fma.f64 (pow.f64 im 8) 1/144 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 im 4) (fma.f64 im im 2))))))
(pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 1)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (sqrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 2)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (cbrt.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 3)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(pow.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3) 1/3)
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(sqrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 2))
(fabs.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))
(log.f64 (exp.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(cbrt.f64 (pow.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2)) 3))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(expm1.f64 (log1p.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(exp.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))) 1))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (*.f64 1/12 (pow.f64 im 4)) (fma.f64 im im 2))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 1 (fma.f64 im im 2) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (*.f64 (*.f64 im im) (sqrt.f64 1/12)) (fma.f64 im im 2))
(+.f64 (pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 1/12)) 2) (fma.f64 im im 2))
(fma.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/12 (pow.f64 im 4)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(fma.f64 1/12 (pow.f64 im 4) (fma.f64 im im 2))
(fma.f64 (cbrt.f64 (*.f64 (pow.f64 im 8) 1/144)) (cbrt.f64 (*.f64 1/12 (pow.f64 im 4))) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im im))) -1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 im im))) 1)
(+.f64 2 (expm1.f64 (log1p.f64 (*.f64 im im))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 im im 2))) 1)
(fma.f64 im im 2)
(-.f64 (/.f64 4 (-.f64 2 (*.f64 im im))) (/.f64 (pow.f64 im 4) (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(-.f64 (+.f64 2 (exp.f64 (log1p.f64 (*.f64 im im)))) 1)
(+.f64 (exp.f64 (log1p.f64 (*.f64 im im))) 1)
(+.f64 2 (expm1.f64 (log1p.f64 (*.f64 im im))))
(*.f64 (fma.f64 im im 2) 1)
(fma.f64 im im 2)
(*.f64 1 (fma.f64 im im 2))
(fma.f64 im im 2)
(*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(*.f64 (cbrt.f64 (fma.f64 im im 2)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))
(fma.f64 im im 2)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(*.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(*.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))
(/.f64 1 (/.f64 (-.f64 2 (*.f64 im im)) (-.f64 4 (pow.f64 im 4))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 1 (/.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (+.f64 8 (pow.f64 im 6))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))
(/.f64 (-.f64 (pow.f64 im 4) 4) (-.f64 (*.f64 im im) 2))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))
(/.f64 (*.f64 1 (-.f64 (pow.f64 im 4) 4)) (-.f64 (*.f64 im im) 2))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (*.f64 1 (neg.f64 (-.f64 4 (pow.f64 im 4)))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (*.f64 1 (neg.f64 (+.f64 8 (pow.f64 im 6)))) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (sqrt.f64 (fma.f64 im im 2)))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (sqrt.f64 (fma.f64 im im 2)) (/.f64 (sqrt.f64 (-.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (fma.f64 im im 2)))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (/.f64 (cbrt.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2))) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (cbrt.f64 (+.f64 8 (pow.f64 im 6))))
(/.f64 (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (/.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (-.f64 2 (*.f64 im im)))) (cbrt.f64 (-.f64 4 (pow.f64 im 4))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) 1) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))
(/.f64 (*.f64 (-.f64 (pow.f64 im 4) 4) 1) (-.f64 (*.f64 im im) 2))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (*.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) 1) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im)))
(/.f64 (+.f64 (pow.f64 im 4) -4) (fma.f64 im im -2))
(/.f64 (*.f64 (neg.f64 (+.f64 8 (pow.f64 im 6))) 1) (neg.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))
(/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (sqrt.f64 (fma.f64 im im 2)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (sqrt.f64 (fma.f64 im im 2)) (/.f64 (sqrt.f64 (-.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (fma.f64 im im 2)))
(/.f64 (*.f64 (cbrt.f64 (+.f64 8 (pow.f64 im 6))) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (/.f64 (cbrt.f64 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2))) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (cbrt.f64 (+.f64 8 (pow.f64 im 6))))
(/.f64 (*.f64 (cbrt.f64 (-.f64 4 (pow.f64 im 4))) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (/.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (-.f64 2 (*.f64 im im)))) (cbrt.f64 (-.f64 4 (pow.f64 im 4))))
(/.f64 (*.f64 (-.f64 16 (pow.f64 im 8)) (/.f64 1 (-.f64 2 (*.f64 im im)))) (+.f64 4 (pow.f64 im 4)))
(/.f64 (-.f64 16 (pow.f64 im 8)) (/.f64 (+.f64 4 (pow.f64 im 4)) (/.f64 1 (-.f64 2 (*.f64 im im)))))
(/.f64 (-.f64 16 (pow.f64 im 8)) (*.f64 (+.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 1 (-.f64 2 (*.f64 im im)))) (+.f64 16 (+.f64 (pow.f64 im 8) (*.f64 4 (pow.f64 im 4)))))
(/.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 (+.f64 (+.f64 16 (pow.f64 im 8)) (*.f64 4 (pow.f64 im 4))) (/.f64 1 (-.f64 2 (*.f64 im im)))))
(/.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (*.f64 (+.f64 16 (fma.f64 4 (pow.f64 im 4) (pow.f64 im 8))) (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (+.f64 512 (pow.f64 (pow.f64 im 6) 3)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))) (+.f64 64 (-.f64 (pow.f64 (pow.f64 im 4) 3) (*.f64 8 (pow.f64 im 6)))))
(/.f64 (+.f64 512 (pow.f64 (pow.f64 im 6) 3)) (/.f64 (+.f64 64 (+.f64 (pow.f64 (pow.f64 im 4) 3) (*.f64 -8 (pow.f64 im 6)))) (/.f64 1 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))))
(/.f64 (+.f64 512 (pow.f64 (pow.f64 im 6) 3)) (*.f64 (+.f64 (pow.f64 (pow.f64 im 4) 3) (+.f64 (*.f64 (pow.f64 im 6) -8) 64)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (+.f64 512 (pow.f64 (pow.f64 im 6) 3)) (*.f64 (+.f64 (pow.f64 (pow.f64 im 4) 3) (+.f64 64 (*.f64 (pow.f64 im 6) -8))) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 1 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))))) (-.f64 8 (pow.f64 im 6)))
(/.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (/.f64 (-.f64 8 (pow.f64 im 6)) (/.f64 1 (+.f64 (+.f64 4 (pow.f64 im 4)) (*.f64 (*.f64 im im) -2)))))
(/.f64 (-.f64 64 (pow.f64 (pow.f64 im 4) 3)) (*.f64 (-.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(pow.f64 (fma.f64 im im 2) 1)
(fma.f64 im im 2)
(pow.f64 (sqrt.f64 (fma.f64 im im 2)) 2)
(fma.f64 im im 2)
(pow.f64 (cbrt.f64 (fma.f64 im im 2)) 3)
(fma.f64 im im 2)
(pow.f64 (pow.f64 (fma.f64 im im 2) 3) 1/3)
(fma.f64 im im 2)
(sqrt.f64 (pow.f64 (fma.f64 im im 2) 2))
(fabs.f64 (fma.f64 im im 2))
(log.f64 (exp.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 im im 2))))
(fma.f64 im im 2)
(cbrt.f64 (pow.f64 (fma.f64 im im 2) 3))
(fma.f64 im im 2)
(expm1.f64 (log1p.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(exp.f64 (log.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 2)) 1))
(fma.f64 im im 2)
(log1p.f64 (expm1.f64 (fma.f64 im im 2)))
(fma.f64 im im 2)
(fma.f64 im im 2)
(fma.f64 1 (*.f64 im im) 2)
(fma.f64 im im 2)
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (pow.f64 (cbrt.f64 im) 2) 2)

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize13.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 15 computations (50% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite101.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
956×unswap-sqr
778×associate-*r/
762×swap-sqr
630×distribute-rgt-in
616×associate-*l/
Iterations

Useful iterations: 1 (0.0ms)

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

simplify134.0ms (1.7%)

Algorithm
egg-herbie
Rules
1068×associate-/l/
1064×distribute-lft-in
1026×distribute-rgt-in
1020×associate-/r/
954×associate-*r/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02564699
17304559
230684399
Stop Event
node limit
Counts
103 → 129
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(+.f64 (sin.f64 re) (*.f64 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1) (sin.f64 re))
(+.f64 (*.f64 1/2 (*.f64 2 (sin.f64 re))) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))) (*.f64 1/2 (*.f64 2 (sin.f64 re))))
(+.f64 (*.f64 (*.f64 (sin.f64 re) 2) 1/2) (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (sin.f64 re) 2) 1/2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))))) 1)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) (-.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) (-.f64 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (exp.f64 (log1p.f64 (sin.f64 re)))) 1)
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (fma.f64 im im 2)))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(/.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))) (*.f64 1/2 (sin.f64 re))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 im 4) 4)) (-.f64 (*.f64 im im) 2))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (neg.f64 (-.f64 4 (pow.f64 im 4)))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 -8 (neg.f64 (pow.f64 im 6)))) (+.f64 -4 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 1 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re)))) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 1 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re)))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 1 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (-.f64 (pow.f64 im 4) 4) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 im im) 2))
(/.f64 (*.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (+.f64 -8 (neg.f64 (pow.f64 im 6))) (*.f64 1/2 (sin.f64 re))) (+.f64 -4 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4))) 1) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) 1) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (-.f64 4 (pow.f64 im 4))) 1/2) (-.f64 2 (*.f64 im im)))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 im 6))) 1/2) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) (*.f64 (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) (*.f64 (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
Outputs
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (*.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 5) 1/240))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(fma.f64 -1/10080 (*.f64 (fma.f64 im im 2) (pow.f64 re 7)) (fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5))))))
(fma.f64 -1/10080 (*.f64 (fma.f64 im im 2) (pow.f64 re 7)) (fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 5) 1/240)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 (pow.f64 re 5) 1/240) (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (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 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 im (sin.f64 re)) 1/2))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1) (sin.f64 re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 2 (sin.f64 re))) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))) (*.f64 1/2 (*.f64 2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 (sin.f64 re) 2) 1/2) (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (sin.f64 re) 2) 1/2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) (-.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) (+.f64 1 (*.f64 -1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (expm1.f64 (log1p.f64 (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (expm1.f64 (log1p.f64 (sin.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) (-.f64 1 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 1)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) (+.f64 1 (*.f64 -1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (expm1.f64 (log1p.f64 (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (expm1.f64 (log1p.f64 (sin.f64 re))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (exp.f64 (log1p.f64 (sin.f64 re)))) 1)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) (+.f64 1 (*.f64 -1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (expm1.f64 (log1p.f64 (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (expm1.f64 (log1p.f64 (sin.f64 re))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(/.f64 (-.f64 4 (pow.f64 im 4)) (/.f64 (-.f64 2 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (+.f64 8 (pow.f64 im 6)) (/.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))) (*.f64 1/2 (sin.f64 re))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 (neg.f64 (pow.f64 im 4)) 1/4) 1) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) 1)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 (pow.f64 im 4) 4)) (-.f64 (*.f64 im im) 2))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (neg.f64 (-.f64 4 (pow.f64 im 4)))) (neg.f64 (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 -8 (neg.f64 (pow.f64 im 6)))) (+.f64 -4 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 -4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (-.f64 -8 (pow.f64 im 6))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (-.f64 -8 (pow.f64 im 6)))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2))) 2)) (-.f64 -8 (pow.f64 im 6)))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4)))) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6)))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 1 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re)))) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 1 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re)))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 1 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 (neg.f64 (pow.f64 im 4)) 1/4) 1) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))
(/.f64 (*.f64 1 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) 1)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (sqrt.f64 (+.f64 8 (pow.f64 im 6))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (-.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (/.f64 (cbrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))))
(*.f64 (/.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2))) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (cbrt.f64 (+.f64 8 (pow.f64 im 6))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (+.f64 8 (pow.f64 im 6)))))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (/.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (/.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)))
(*.f64 (*.f64 (/.f64 1/2 (cbrt.f64 (-.f64 2 (*.f64 im im)))) (sin.f64 re)) (*.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) (cbrt.f64 (-.f64 4 (pow.f64 im 4)))))
(/.f64 (*.f64 (-.f64 (pow.f64 im 4) 4) (*.f64 1/2 (sin.f64 re))) (-.f64 (*.f64 im im) 2))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (neg.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 1/2 (sin.f64 re))) (neg.f64 (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (+.f64 -8 (neg.f64 (pow.f64 im 6))) (*.f64 1/2 (sin.f64 re))) (+.f64 -4 (neg.f64 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 -4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im)))) (-.f64 -8 (pow.f64 im 6))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))) (-.f64 -8 (pow.f64 im 6)))
(*.f64 (/.f64 (sin.f64 re) (*.f64 (-.f64 -4 (*.f64 (*.f64 im im) (fma.f64 im im -2))) 2)) (-.f64 -8 (pow.f64 im 6)))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4))) 1) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (*.f64 (neg.f64 (pow.f64 im 4)) 1/4) 1) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im -1/2)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) 1) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (*.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 3))) (+.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re))))))
(/.f64 (fma.f64 1/8 (pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (+.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) 1)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (*.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (sqrt.f64 (+.f64 8 (pow.f64 im 6)))))
(*.f64 (/.f64 (sqrt.f64 (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))) (sqrt.f64 (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2))))) (sqrt.f64 (+.f64 8 (pow.f64 im 6))))
(/.f64 (*.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (/.f64 (sqrt.f64 (-.f64 2 (*.f64 im im))) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (*.f64 1/2 (*.f64 (sin.f64 re) (sqrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (-.f64 4 (pow.f64 im 4)))))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (-.f64 4 (pow.f64 im 4))) 1/2) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (*.f64 (*.f64 (sin.f64 re) (+.f64 8 (pow.f64 im 6))) 1/2) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) 1) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 im 6))) (*.f64 (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) 1) (-.f64 2 (*.f64 im im)))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (-.f64 2 (*.f64 im im)))) (sqrt.f64 (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (*.f64 (cbrt.f64 (-.f64 2 (*.f64 im im))) (cbrt.f64 (-.f64 2 (*.f64 im im))))) (cbrt.f64 (-.f64 2 (*.f64 im im))))
(*.f64 (/.f64 (-.f64 4 (pow.f64 im 4)) (-.f64 2 (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(/.f64 (sin.f64 re) (/.f64 (-.f64 4 (/.f64 (*.f64 im im) 1/2)) (-.f64 4 (pow.f64 im 4))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im -2)) (+.f64 (pow.f64 im 4) -4))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) 1) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im)))))) (sqrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(/.f64 (/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (*.f64 1/2 (sin.f64 re))) (*.f64 (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))) (cbrt.f64 (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (*.f64 im im))))))
(*.f64 (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (+.f64 (pow.f64 im 4) (*.f64 -2 (*.f64 im im))))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 4 (*.f64 (*.f64 im im) (fma.f64 im im -2)))))
(pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 2)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3) 1/3)
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2))
(fabs.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 25 to 14 computations (44% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite62.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1010×*-commutative
890×sqrt-prod
710×unswap-sqr
610×swap-sqr
410×sqr-pow
Iterations

Useful iterations: 0 (0.0ms)

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

simplify75.0ms (0.9%)

Algorithm
egg-herbie
Rules
1158×fma-def
1012×*-commutative
946×associate-/l*
700×distribute-lft-in
690×distribute-lft-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01361847
14381765
219451705
366801675
Stop Event
node limit
Counts
53 → 69
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) -1)
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 1/2 (*.f64 (sin.f64 re) 2)))
(+.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) 2)))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (sin.f64 re) 2) 1/2))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) 1) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1)
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 im 4) -4)) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (*.f64 im im) 3))) (+.f64 (pow.f64 im 4) (-.f64 4 (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 (+.f64 (pow.f64 im 4) -4) (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (*.f64 im im) 3)) (*.f64 1/2 (sin.f64 re))) (+.f64 (pow.f64 im 4) (-.f64 4 (*.f64 2 (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) 3) (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) 3)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (-.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) 1/3)
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 2)))
(fabs.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 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 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
Outputs
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) re))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (*.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))))
(fma.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 re 3)) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(fma.f64 -1/10080 (*.f64 (fma.f64 im im 2) (pow.f64 re 7)) (fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 -1/12 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5))))))
(fma.f64 -1/10080 (*.f64 (fma.f64 im im 2) (pow.f64 re 7)) (fma.f64 1/2 (*.f64 (fma.f64 im im 2) re) (fma.f64 1/240 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 (fma.f64 im im 2) (+.f64 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.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 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.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 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.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 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.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 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.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 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.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 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) -1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 1/2 (*.f64 (sin.f64 re) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 1 (*.f64 (*.f64 1/2 (sin.f64 re)) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (sin.f64 re) 2) 1/2))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) 1) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) 1))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 im 4) -4)) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 im im -2) (+.f64 (pow.f64 im 4) -4)))
(*.f64 (+.f64 (pow.f64 im 4) -4) (/.f64 (sin.f64 re) (/.f64 (fma.f64 im im -2) 1/2)))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 8 (pow.f64 (*.f64 im im) 3))) (+.f64 (pow.f64 im 4) (-.f64 4 (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 (+.f64 (pow.f64 im 4) 4) (*.f64 2 (*.f64 im im))) (+.f64 8 (pow.f64 (*.f64 im im) 3))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (-.f64 (*.f64 2 (*.f64 im im)) (pow.f64 im 4)))) (+.f64 8 (pow.f64 im 6)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (*.f64 im im) -2 4))))
(/.f64 (*.f64 (+.f64 (pow.f64 im 4) -4) (*.f64 1/2 (sin.f64 re))) (+.f64 (*.f64 im im) -2))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (fma.f64 im im -2) (+.f64 (pow.f64 im 4) -4)))
(*.f64 (+.f64 (pow.f64 im 4) -4) (/.f64 (sin.f64 re) (/.f64 (fma.f64 im im -2) 1/2)))
(/.f64 (*.f64 (+.f64 8 (pow.f64 (*.f64 im im) 3)) (*.f64 1/2 (sin.f64 re))) (+.f64 (pow.f64 im 4) (-.f64 4 (*.f64 2 (*.f64 im im)))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (-.f64 (+.f64 (pow.f64 im 4) 4) (*.f64 2 (*.f64 im im))) (+.f64 8 (pow.f64 (*.f64 im im) 3))))
(*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (-.f64 (*.f64 2 (*.f64 im im)) (pow.f64 im 4)))) (+.f64 8 (pow.f64 im 6)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 (+.f64 8 (pow.f64 im 6)) (+.f64 (pow.f64 im 4) (fma.f64 (*.f64 im im) -2 4))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) 2))) (-.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (-.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))) 1) (+.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) 3) (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) 3)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (-.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) 2) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)) (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) (*.f64 (*.f64 1/2 (sin.f64 re)) 2)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)) 3) (pow.f64 (*.f64 (sin.f64 re) 1) 3)) (+.f64 (*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (sin.f64 re))) (pow.f64 im 4)) (*.f64 (*.f64 (sin.f64 re) 1) (-.f64 (*.f64 (sin.f64 re) 1) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))))))
(/.f64 (*.f64 (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (+.f64 8 (pow.f64 im 6))) (fma.f64 (sin.f64 re) (*.f64 (sin.f64 re) (-.f64 1 (*.f64 1/2 (*.f64 im im)))) (*.f64 (pow.f64 im 4) (*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) 1/4))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) (fma.f64 (sin.f64 re) (sin.f64 re) (*.f64 (*.f64 (*.f64 im im) (*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) 1/4)) (fma.f64 im im -2))))
(/.f64 (*.f64 (+.f64 8 (pow.f64 im 6)) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)) (*.f64 (*.f64 (sin.f64 re) (sin.f64 re)) (+.f64 (*.f64 (pow.f64 im 4) 1/4) (+.f64 1 (*.f64 im (*.f64 im -1/2))))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 3) 1) (+.f64 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))) (+.f64 1 (*.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 3) -1) (+.f64 (exp.f64 (+.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))) (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))) (+.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)))) 1)))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))))) 3)) (+.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))))) (+.f64 1 (exp.f64 (*.f64 2 (log1p.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))))))))
(/.f64 (expm1.f64 (*.f64 3 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))) (+.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))) (+.f64 1 (pow.f64 (exp.f64 2) (log1p.f64 (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 3)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) 1/3)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 (sin.f64 re) (fma.f64 im im 2)) 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fabs.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))

localize46.0ms (0.6%)

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)

series3.0ms (0%)

Counts
2 → 32
Calls

9 calls:

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

rewrite108.0ms (1.3%)

Algorithm
egg-rewrite-iter-limit
egg-rewrite
batch-egg-rewrite
Rules
258×add-sqr-sqrt
258×add-sqr-sqrt
246×pow1
246×*-un-lft-identity
246×pow1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01234
125134
2382234
01223
125123
2382223
01223
0811
116911
2261611
0811
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 exp.f64 (log.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 *.f64 1 (*.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 (*.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 2 (cosh.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 /.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 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 exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))))))

simplify77.0ms (1%)

Algorithm
egg-herbie
Rules
1472×associate-+r-
1212×fma-def
1080×distribute-lft-in
964×distribute-rgt-in
898×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0941402
12491362
29741296
32484692
47677692
Stop Event
node limit
Counts
50 → 58
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(pow.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) 1)
(log.f64 (exp.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(exp.f64 (log.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))))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(*.f64 (sqrt.f64 (*.f64 2 (cosh.f64 im))) (sqrt.f64 (*.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 2 (cosh.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))))
(/.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))))))
(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))))
(exp.f64 (log.f64 (*.f64 2 (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 2 (cosh.f64 im))))
Outputs
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) re)
(fma.f64 re (*.f64 1/2 (*.f64 im im)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) re))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (fma.f64 re (*.f64 1/24 (pow.f64 im 4)) re))
(fma.f64 re (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/2 (*.f64 im im))) re)
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) re)))
(fma.f64 re (*.f64 1/24 (pow.f64 im 4)) (fma.f64 re (*.f64 1/2 (*.f64 im im)) (fma.f64 (pow.f64 im 6) (*.f64 re 1/720) re)))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/720 (pow.f64 im 6))) (fma.f64 (pow.f64 im 4) (*.f64 re 1/24) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 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 (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 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 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 (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 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (*.f64 im im))
(fma.f64 im im 2)
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))
(+.f64 2 (fma.f64 im im (*.f64 (pow.f64 im 4) 1/12)))
(fma.f64 (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 4) 1/12 (fma.f64 (pow.f64 im 6) 1/360 (*.f64 im im))))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(pow.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) 1)
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 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 (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 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(cbrt.f64 (*.f64 (*.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re)) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))) (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 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 (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 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(exp.f64 (log.f64 (*.f64 (*.f64 2 (cosh.f64 im)) (*.f64 1/2 re))))
(*.f64 (*.f64 re 1/2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 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 (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 re (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 re (cosh.f64 im))
(*.f64 1 (*.f64 2 (cosh.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(*.f64 2 (cosh.f64 im))
(*.f64 (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 (*.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 2 (cosh.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))))
(+.f64 (exp.f64 im) (exp.f64 (neg.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 (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 (exp.f64 (*.f64 im 3)) (pow.f64 (exp.f64 im) -3)) (+.f64 (exp.f64 (+.f64 im im)) (expm1.f64 (*.f64 im -2))))
(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))
(exp.f64 (log.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))

eval379.0ms (4.8%)

Compiler

Compiled 16621 to 11386 computations (31.5% saved)

prune125.0ms (1.6%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New6485653
Fresh101
Picked101
Done055
Total65010660
Error
0b
Counts
660 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (fma.f64 im im 2)))
35.5b
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
0.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
60.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
35.1b
(*.f64 re (cosh.f64 im))
1.1b
(sin.f64 re)
35.6b
re
Compiler

Compiled 101 to 74 computations (26.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 10 to 4 computations (60% saved)

series4.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite88.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1376×add-sqr-sqrt
1362×*-un-lft-identity
1260×add-cube-cbrt
1240×add-cbrt-cube
1228×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0716
114016
2169516
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(*.f64 re (cosh.f64 im))
(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 re (*.f64 2 (cosh.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 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 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)))) (#(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 (pow.f64 (*.f64 re (cosh.f64 im)) 3) 1/3)))) (#(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 (cosh.f64 im)) re))))) (#(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 exp.f64 (log.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 -.f64 (+.f64 1 (cosh.f64 im)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cosh.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (cosh.f64 im))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (cosh.f64 im)) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (cosh.f64 im)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 2 (*.f64 2 (cosh.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (cosh.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (cosh.f64 im))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cosh.f64 im) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (cosh.f64 im)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (cosh.f64 im)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (cosh.f64 im) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (cosh.f64 im) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (cosh.f64 im) 3))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (cosh.f64 im)))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (cosh.f64 im)))))))

simplify61.0ms (0.8%)

Algorithm
egg-herbie
Rules
1622×associate-+l+
664×unswap-sqr
570×fma-def
518×associate-*r/
474×*-commutative
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01021695
12511481
211631219
346011209
Stop Event
node limit
Counts
69 → 71
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(-.f64 (+.f64 1 (*.f64 re (cosh.f64 im))) 1)
(/.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2)
(/.f64 (*.f64 (*.f64 2 (cosh.f64 im)) re) 2)
(pow.f64 (*.f64 re (cosh.f64 im)) 1)
(pow.f64 (sqrt.f64 (*.f64 re (cosh.f64 im))) 2)
(pow.f64 (cbrt.f64 (*.f64 re (cosh.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3) 1/3)
(sqrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (cosh.f64 im)) re))
(cbrt.f64 (pow.f64 (*.f64 re (cosh.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (cosh.f64 im))))
(exp.f64 (log.f64 (*.f64 re (cosh.f64 im))))
(log1p.f64 (expm1.f64 (*.f64 re (cosh.f64 im))))
(-.f64 (+.f64 1 (cosh.f64 im)) 1)
(*.f64 (cosh.f64 im) 1)
(*.f64 1 (cosh.f64 im))
(*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (cosh.f64 im)))
(*.f64 (cbrt.f64 (cosh.f64 im)) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (cosh.f64 im)))
(*.f64 (*.f64 2 (cosh.f64 im)) 1/2)
(/.f64 1 (/.f64 2 (*.f64 2 (cosh.f64 im))))
(/.f64 (*.f64 2 (cosh.f64 im)) 2)
(/.f64 (neg.f64 (*.f64 2 (cosh.f64 im))) -2)
(pow.f64 (cosh.f64 im) 1)
(pow.f64 (sqrt.f64 (cosh.f64 im)) 2)
(pow.f64 (cbrt.f64 (cosh.f64 im)) 3)
(pow.f64 (pow.f64 (cosh.f64 im) 3) 1/3)
(sqrt.f64 (pow.f64 (cosh.f64 im) 2))
(log.f64 (exp.f64 (cosh.f64 im)))
(cbrt.f64 (pow.f64 (cosh.f64 im) 3))
(expm1.f64 (log1p.f64 (cosh.f64 im)))
(exp.f64 (log.f64 (cosh.f64 im)))
(log1p.f64 (expm1.f64 (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 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(fma.f64 1/2 (*.f64 (*.f64 re im) im) re)
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) re)
(fma.f64 1/2 (*.f64 im (*.f64 im re)) re)
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2 (*.f64 (*.f64 re im) im) re))
(+.f64 re (*.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1)))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))))
(fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/2 (*.f64 (*.f64 re im) im) re)))
(+.f64 (*.f64 (fma.f64 1/720 (pow.f64 im 6) 1) re) (*.f64 re (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 re (*.f64 re (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (*.f64 1/24 (pow.f64 im 4))))
(fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) 1))
(+.f64 1 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 1 (fma.f64 1/2 (*.f64 im im) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 1/24 (pow.f64 im 4) (*.f64 1/720 (pow.f64 im 6))))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(-.f64 (+.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 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))
(/.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))
(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 (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))
(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 (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))
(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 (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))
(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))
(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))
(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))
(-.f64 (+.f64 1 (cosh.f64 im)) 1)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (cosh.f64 im) 1)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 1 (cosh.f64 im))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (sqrt.f64 (cosh.f64 im)) (sqrt.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (cbrt.f64 (cosh.f64 im)) (pow.f64 (cbrt.f64 (cosh.f64 im)) 2))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (pow.f64 (cbrt.f64 (cosh.f64 im)) 2) (cbrt.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(*.f64 (*.f64 2 (cosh.f64 im)) 1/2)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(/.f64 1 (/.f64 2 (*.f64 2 (cosh.f64 im))))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(/.f64 (*.f64 2 (cosh.f64 im)) 2)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(/.f64 (neg.f64 (*.f64 2 (cosh.f64 im))) -2)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (cosh.f64 im) 1)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (sqrt.f64 (cosh.f64 im)) 2)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (cbrt.f64 (cosh.f64 im)) 3)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(pow.f64 (pow.f64 (cosh.f64 im) 3) 1/3)
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(sqrt.f64 (pow.f64 (cosh.f64 im) 2))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(log.f64 (exp.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(cbrt.f64 (pow.f64 (cosh.f64 im) 3))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(expm1.f64 (log1p.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(exp.f64 (log.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)
(log1p.f64 (expm1.f64 (cosh.f64 im)))
(+.f64 1 (-.f64 (cosh.f64 im) 1))
(+.f64 (cosh.f64 im) 0)
(cosh.f64 im)

localize11.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 10 computations (54.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite55.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1854×add-sqr-sqrt
1836×*-un-lft-identity
1700×add-cube-cbrt
1676×add-cbrt-cube
196×pow1
Iterations

Useful iterations: 0 (0.0ms)

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

simplify66.0ms (0.8%)

Algorithm
egg-herbie
Rules
1366×fma-def
1002×distribute-lft-in
996×associate-+r+
948×associate-+l+
928×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069991
1180963
2720927
31988923
47435923
Stop Event
node limit
Counts
37 → 34
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 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 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (sin.f64 re)) 2)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 -1/12 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))) (*.f64 1/240 (pow.f64 re 5))))
(*.f64 (*.f64 im im) (fma.f64 re (fma.f64 -1/12 (*.f64 re re) 1/2) (*.f64 1/240 (pow.f64 re 5))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (*.f64 im im) (pow.f64 re 7)) (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 1/2 re (*.f64 -1/10080 (pow.f64 re 7))) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (fma.f64 re (fma.f64 -1/12 (*.f64 re re) 1/2) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (*.f64 1/2 (sin.f64 re)) 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 29 to 10 computations (65.5% saved)

series3.0ms (0%)

Counts
2 → 48
Calls

12 calls:

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

rewrite56.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1508×add-sqr-sqrt
1490×*-un-lft-identity
1384×add-cube-cbrt
1366×add-cbrt-cube
1352×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify67.0ms (0.8%)

Algorithm
egg-herbie
Rules
972×log-prod
726×distribute-lft-out
698×hypot-def
532×unswap-sqr
506×cancel-sign-sub-inv
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0691152
11721152
27221152
323241152
453051152
Stop Event
node limit
Counts
72 → 31
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 re (*.f64 im im))) 1)
(pow.f64 (*.f64 re (*.f64 im im)) 1)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 re re)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) re))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 im im))))
(-.f64 (+.f64 1 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 1)
(pow.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2)) 1)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 re 1/2)) im) 2)
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2)) 3) 1/3)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 re re)) 1/4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 im im)) re) 1/2))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))))
(exp.f64 (log.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))))
Outputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(-.f64 (+.f64 1 (*.f64 re (*.f64 im im))) 1)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(pow.f64 (*.f64 re (*.f64 im im)) 1)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 im im))) 3)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3) 1/3)
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 re re)))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) re))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(exp.f64 (log.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(*.f64 im (*.f64 re im))
(-.f64 (+.f64 1 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 1)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(pow.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2)) 1)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 re 1/2)) im) 2)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 3)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(pow.f64 (pow.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2)) 3) 1/3)
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 4) (*.f64 re re)) 1/4))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 im im)) re) 1/2))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2)) 3))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(exp.f64 (log.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 1))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 (*.f64 im im) 1/2))))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(*.f64 im (*.f64 im (*.f64 re 1/2)))

localize16.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

Compiled 34 to 21 computations (38.2% saved)

series3.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite211.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
1604×associate-*r/
1298×associate-*l/
1254×associate-/r*
1152×associate-/l*
282×add-sqr-sqrt
Iterations

Useful iterations: 1 (0.0ms)

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

simplify64.0ms (0.8%)

Algorithm
egg-herbie
Rules
1046×unswap-sqr
1026×associate-*r/
902×associate-/r*
822×*-commutative
820×associate-/l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02213040
15962970
221822934
Stop Event
node limit
Counts
106 → 123
Calls
Call 1
Inputs
1/2
(+.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)
(+.f64 (*.f64 -1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/8 (pow.f64 im 4)) 1/2))
(+.f64 (*.f64 -1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/8 (pow.f64 im 4)) (+.f64 1/2 (*.f64 -1/16 (pow.f64 im 6)))))
(/.f64 1 (pow.f64 im 2))
(-.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (+.f64 (*.f64 8 (/.f64 1 (pow.f64 im 8))) (*.f64 2 (/.f64 1 (pow.f64 im 4)))))
(/.f64 1 (pow.f64 im 2))
(-.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (+.f64 (*.f64 8 (/.f64 1 (pow.f64 im 8))) (*.f64 2 (/.f64 1 (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (fma.f64 im im 2)))) 1)
(*.f64 1 (/.f64 1 (fma.f64 im im 2)))
(*.f64 (/.f64 1 (fma.f64 im im 2)) 1)
(*.f64 (pow.f64 (fma.f64 im im 2) -1/2) (pow.f64 (fma.f64 im im 2) -1/2))
(*.f64 (/.f64 1 (cbrt.f64 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2)) (/.f64 1 (cbrt.f64 (fma.f64 im im 2))))
(*.f64 -1 (/.f64 -1 (fma.f64 im im 2)))
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 im im 2)) -1) (pow.f64 (sqrt.f64 (fma.f64 im im 2)) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) -1))
(pow.f64 (/.f64 1 (fma.f64 im im 2)) 1)
(pow.f64 (pow.f64 (fma.f64 im im 2) -1/2) 2)
(pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 im im 2))) 3)
(pow.f64 (pow.f64 (/.f64 1 (fma.f64 im im 2)) 3) 1/3)
(pow.f64 (fma.f64 im im 2) -1)
(sqrt.f64 (pow.f64 (fma.f64 im im 2) -2))
(log.f64 (exp.f64 (/.f64 1 (fma.f64 im im 2))))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (fma.f64 im im 2)))))
(cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 im im 2)) 3))
(expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 im im 2))))
(exp.f64 (neg.f64 (log.f64 (fma.f64 im im 2))))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 2)) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 im im 2))) 1))
(log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 im im 2))))
(+.f64 (/.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 2) (/.f64 (sin.f64 re) 1))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (/.f64 (sin.f64 re) 1))
(+.f64 (/.f64 (sin.f64 re) 1) (/.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 2))
(+.f64 (/.f64 (sin.f64 re) 1) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 -2 (*.f64 im im)))
(*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)))
(*.f64 (/.f64 1 (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 1/2 (/.f64 (pow.f64 (fma.f64 im im 2) -1/2) (sin.f64 re))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (sin.f64 re) (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 1/2 (pow.f64 (fma.f64 im im 2) -1/2)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 (/.f64 (sin.f64 re) -2) (-.f64 -2 (*.f64 im im)))
(*.f64 (/.f64 1/2 (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 (sin.f64 re) (pow.f64 (fma.f64 im im 2) -1/2)))
(*.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 (sin.f64 re) (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (sin.f64 re) 1) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 (/.f64 (sin.f64 re) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 1/2 (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 1) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) 1) (/.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (/.f64 1 (fma.f64 im im 2))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (pow.f64 (fma.f64 im im 2) -1/2)))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (/.f64 2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) -1)
(neg.f64 (/.f64 (/.f64 (sin.f64 re) -2) (/.f64 1 (fma.f64 im im 2))))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
Outputs
1/2
(+.f64 (*.f64 -1/4 (pow.f64 im 2)) 1/2)
(fma.f64 -1/4 (*.f64 im im) 1/2)
(+.f64 (*.f64 -1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/8 (pow.f64 im 4)) 1/2))
(fma.f64 -1/4 (*.f64 im im) (fma.f64 1/8 (pow.f64 im 4) 1/2))
(+.f64 (*.f64 -1/4 (pow.f64 im 2)) (+.f64 (*.f64 1/8 (pow.f64 im 4)) (+.f64 1/2 (*.f64 -1/16 (pow.f64 im 6)))))
(fma.f64 -1/4 (*.f64 im im) (+.f64 (fma.f64 1/8 (pow.f64 im 4) 1/2) (*.f64 -1/16 (pow.f64 im 6))))
(fma.f64 -1/4 (*.f64 im im) (fma.f64 1/8 (pow.f64 im 4) (fma.f64 -1/16 (pow.f64 im 6) 1/2)))
(/.f64 1 (pow.f64 im 2))
(/.f64 1 (*.f64 im im))
(-.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(-.f64 (/.f64 1 (*.f64 im im)) (/.f64 2 (pow.f64 im 4)))
(+.f64 (/.f64 1 (*.f64 im im)) (/.f64 -2 (pow.f64 im 4)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(+.f64 (/.f64 1 (*.f64 im im)) (-.f64 (/.f64 4 (pow.f64 im 6)) (/.f64 2 (pow.f64 im 4))))
(+.f64 (/.f64 1 (*.f64 im im)) (+.f64 (/.f64 4 (pow.f64 im 6)) (/.f64 -2 (pow.f64 im 4))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (+.f64 (*.f64 8 (/.f64 1 (pow.f64 im 8))) (*.f64 2 (/.f64 1 (pow.f64 im 4)))))
(-.f64 (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 4 (pow.f64 im 6))) (+.f64 (/.f64 2 (pow.f64 im 4)) (/.f64 8 (pow.f64 im 8))))
(+.f64 (/.f64 1 (*.f64 im im)) (-.f64 (/.f64 4 (pow.f64 im 6)) (+.f64 (/.f64 2 (pow.f64 im 4)) (/.f64 8 (pow.f64 im 8)))))
(+.f64 (/.f64 1 (*.f64 im im)) (-.f64 (-.f64 (/.f64 4 (pow.f64 im 6)) (/.f64 8 (pow.f64 im 8))) (/.f64 2 (pow.f64 im 4))))
(/.f64 1 (pow.f64 im 2))
(/.f64 1 (*.f64 im im))
(-.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(-.f64 (/.f64 1 (*.f64 im im)) (/.f64 2 (pow.f64 im 4)))
(+.f64 (/.f64 1 (*.f64 im im)) (/.f64 -2 (pow.f64 im 4)))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (*.f64 2 (/.f64 1 (pow.f64 im 4))))
(+.f64 (/.f64 1 (*.f64 im im)) (-.f64 (/.f64 4 (pow.f64 im 6)) (/.f64 2 (pow.f64 im 4))))
(+.f64 (/.f64 1 (*.f64 im im)) (+.f64 (/.f64 4 (pow.f64 im 6)) (/.f64 -2 (pow.f64 im 4))))
(-.f64 (+.f64 (/.f64 1 (pow.f64 im 2)) (*.f64 4 (/.f64 1 (pow.f64 im 6)))) (+.f64 (*.f64 8 (/.f64 1 (pow.f64 im 8))) (*.f64 2 (/.f64 1 (pow.f64 im 4)))))
(-.f64 (+.f64 (/.f64 1 (*.f64 im im)) (/.f64 4 (pow.f64 im 6))) (+.f64 (/.f64 2 (pow.f64 im 4)) (/.f64 8 (pow.f64 im 8))))
(+.f64 (/.f64 1 (*.f64 im im)) (-.f64 (/.f64 4 (pow.f64 im 6)) (+.f64 (/.f64 2 (pow.f64 im 4)) (/.f64 8 (pow.f64 im 8)))))
(+.f64 (/.f64 1 (*.f64 im im)) (-.f64 (-.f64 (/.f64 4 (pow.f64 im 6)) (/.f64 8 (pow.f64 im 8))) (/.f64 2 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 re))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5)))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2)))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 7))) (+.f64 (*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re)) (+.f64 (*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))) (*.f64 1/240 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 5))))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (fma.f64 im im 2)) (fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 im im 2))))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (fma.f64 im im 2)) (fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2))))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (/.f64 1 (fma.f64 im im 2)))) 1)
(/.f64 1 (fma.f64 im im 2))
(*.f64 1 (/.f64 1 (fma.f64 im im 2)))
(/.f64 1 (fma.f64 im im 2))
(*.f64 (/.f64 1 (fma.f64 im im 2)) 1)
(/.f64 1 (fma.f64 im im 2))
(*.f64 (pow.f64 (fma.f64 im im 2) -1/2) (pow.f64 (fma.f64 im im 2) -1/2))
(/.f64 1 (fma.f64 im im 2))
(*.f64 (/.f64 1 (cbrt.f64 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2)))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2)) (cbrt.f64 (fma.f64 im im 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2)) (/.f64 1 (cbrt.f64 (fma.f64 im im 2))))
(*.f64 (/.f64 1 (cbrt.f64 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2)))
(/.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2)) (cbrt.f64 (fma.f64 im im 2)))
(*.f64 -1 (/.f64 -1 (fma.f64 im im 2)))
(/.f64 1 (fma.f64 im im 2))
(*.f64 (pow.f64 (sqrt.f64 (fma.f64 im im 2)) -1) (pow.f64 (sqrt.f64 (fma.f64 im im 2)) -1))
(/.f64 1 (fma.f64 im im 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2) -1) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) -1))
(/.f64 1 (fma.f64 im im 2))
(pow.f64 (/.f64 1 (fma.f64 im im 2)) 1)
(/.f64 1 (fma.f64 im im 2))
(pow.f64 (pow.f64 (fma.f64 im im 2) -1/2) 2)
(/.f64 1 (fma.f64 im im 2))
(pow.f64 (/.f64 1 (cbrt.f64 (fma.f64 im im 2))) 3)
(/.f64 1 (fma.f64 im im 2))
(pow.f64 (pow.f64 (/.f64 1 (fma.f64 im im 2)) 3) 1/3)
(/.f64 1 (fma.f64 im im 2))
(pow.f64 (fma.f64 im im 2) -1)
(/.f64 1 (fma.f64 im im 2))
(sqrt.f64 (pow.f64 (fma.f64 im im 2) -2))
(log.f64 (exp.f64 (/.f64 1 (fma.f64 im im 2))))
(/.f64 1 (fma.f64 im im 2))
(log.f64 (+.f64 1 (expm1.f64 (/.f64 1 (fma.f64 im im 2)))))
(/.f64 1 (fma.f64 im im 2))
(cbrt.f64 (pow.f64 (/.f64 1 (fma.f64 im im 2)) 3))
(/.f64 1 (fma.f64 im im 2))
(expm1.f64 (log1p.f64 (/.f64 1 (fma.f64 im im 2))))
(/.f64 1 (fma.f64 im im 2))
(exp.f64 (neg.f64 (log.f64 (fma.f64 im im 2))))
(/.f64 1 (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (fma.f64 im im 2)) -1))
(/.f64 1 (fma.f64 im im 2))
(exp.f64 (*.f64 (neg.f64 (log.f64 (fma.f64 im im 2))) 1))
(/.f64 1 (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (/.f64 1 (fma.f64 im im 2))))
(/.f64 1 (fma.f64 im im 2))
(+.f64 (/.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 2) (/.f64 (sin.f64 re) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))) (/.f64 (sin.f64 re) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (/.f64 (sin.f64 re) 1) (/.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(+.f64 (/.f64 (sin.f64 re) 1) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (fma.f64 im im 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (*.f64 (sin.f64 re) -1/2) (-.f64 -2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (pow.f64 (cbrt.f64 (fma.f64 im im 2)) 2)) (cbrt.f64 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 1 (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 1/2 (/.f64 (pow.f64 (fma.f64 im im 2) -1/2) (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) 1) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))))
(*.f64 (/.f64 (sin.f64 re) (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 1/2 (pow.f64 (fma.f64 im im 2) -1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (*.f64 1/2 (fma.f64 im im 2)) (sin.f64 re))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) -2) (-.f64 -2 (*.f64 im im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 1/2 (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 (sin.f64 re) (pow.f64 (fma.f64 im im 2) -1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 (sin.f64 re) (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) 1) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))))
(*.f64 (/.f64 (sin.f64 re) 1) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 (sin.f64 re) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 1/2 (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) 1) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))))
(*.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) 1) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(*.f64 (/.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (/.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (/.f64 1 (cbrt.f64 (fma.f64 im im 2)))))
(*.f64 (/.f64 1 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (/.f64 (*.f64 1/2 (sin.f64 re)) 1) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 (/.f64 1/2 (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))))
(*.f64 1/2 (/.f64 (*.f64 (sin.f64 re) (cbrt.f64 (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) 1) (/.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (/.f64 1 (fma.f64 im im 2))))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (fma.f64 im im 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (pow.f64 (fma.f64 im im 2) -1/2)) (/.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (pow.f64 (fma.f64 im im 2) -1/2)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (fma.f64 im im 2) (*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (cbrt.f64 (*.f64 1/2 (sin.f64 re)))))
(*.f64 (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))) (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))))
(*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))) (/.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)) (cbrt.f64 (pow.f64 (fma.f64 im im 2) -2))))
(pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (sqrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 2)
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 3)
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3) 1/3)
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(pow.f64 (/.f64 2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) -1)
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(neg.f64 (/.f64 (/.f64 (sin.f64 re) -2) (/.f64 1 (fma.f64 im im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 2))
(fabs.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/2) (fma.f64 im im 2)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (sin.f64 re))) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) 3))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 (sin.f64 re)))

eval80.0ms (1%)

Compiler

Compiled 3594 to 2273 computations (36.8% saved)

prune48.0ms (0.6%)

Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New2572259
Fresh011
Picked011
Done088
Total25712269
Error
0b
Counts
269 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (fma.f64 im im 2)))
35.5b
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
0.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
60.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
61.0b
(*.f64 re (*.f64 1/2 (*.f64 im im)))
35.1b
(*.f64 re (cosh.f64 im))
61.0b
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1.1b
(sin.f64 re)
35.6b
re
Compiler

Compiled 119 to 86 computations (27.7% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 7 computations (65% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 20 to 9 computations (55% saved)

series1.0ms (0%)

Counts
2 → 36
Calls

9 calls:

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

rewrite60.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1500×add-sqr-sqrt
1482×*-un-lft-identity
1376×add-cube-cbrt
1360×add-cbrt-cube
1346×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

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

simplify50.0ms (0.6%)

Algorithm
egg-herbie
Rules
1904×distribute-rgt-in
1868×distribute-lft-in
1288×fma-def
890×log-prod
494×unswap-sqr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
070996
1175996
2699996
32137996
Stop Event
node limit
Counts
60 → 32
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 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 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 im 2))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (*.f64 im im) re))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re)) 1)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 re 1/2)) im) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re)) 3) 1/3)
(sqrt.f64 (*.f64 (*.f64 re re) (*.f64 (pow.f64 im 4) 1/4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 im im)) 1/2) re))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) 1/3)
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) 1/2))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(*.f64 1/2 (pow.f64 im 2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 (*.f64 im im) re))) 1)
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(pow.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re)) 1)
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 re 1/2)) im) 2)
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))) 3)
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re)) 3) 1/3)
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(sqrt.f64 (*.f64 (*.f64 re re) (*.f64 (pow.f64 im 4) 1/4)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (*.f64 im im)) 1/2) re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re)) 3))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))) 1))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (*.f64 im im) re))))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(-.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 1/2 (*.f64 im im)) 1)
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 1/2)) 2)
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 3)
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3) 1/3)
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(sqrt.f64 (*.f64 (pow.f64 im 4) 1/4))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) 1/2))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 im im)) 3))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 im im))) 1))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 im im))))
(*.f64 (*.f64 1/2 im) im)
(*.f64 1/2 (*.f64 im im))

eval14.0ms (0.2%)

Compiler

Compiled 569 to 319 computations (43.9% saved)

prune15.0ms (0.2%)

Pruning

15 alts after pruning (4 fresh and 11 done)

PrunedKeptTotal
New60363
Fresh011
Picked011
Done01010
Total601575
Error
0b
Counts
75 → 15
Alt Table
Click to see full alt table
StatusErrorProgram
0.8b
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (fma.f64 im im 2)))
61.3b
(-.f64 (+.f64 1 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 1)
35.5b
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
0.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
0.0b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.8b
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
60.7b
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
61.0b
(*.f64 (*.f64 1/2 im) (*.f64 re im))
61.3b
(*.f64 re (-.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) 1))
61.0b
(*.f64 re (*.f64 1/2 (*.f64 im im)))
35.1b
(*.f64 re (cosh.f64 im))
61.0b
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1.1b
(sin.f64 re)
35.6b
re
Compiler

Compiled 154 to 112 computations (27.3% saved)

regimes58.0ms (0.7%)

Counts
19 → 1
Calls
Call 1
Inputs
re
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(*.f64 (*.f64 1/2 im) (*.f64 re im))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 re (-.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) 1))
(-.f64 (+.f64 1 (*.f64 re (*.f64 (*.f64 im im) 1/2))) 1)
(sin.f64 re)
(*.f64 re (cosh.f64 im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(/.f64 (*.f64 1/2 (sin.f64 re)) (/.f64 1 (fma.f64 im im 2)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(*.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 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

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

Compiled 209 to 120 computations (42.6% saved)

regimes41.0ms (0.5%)

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

4 calls:

10.0ms
im
10.0ms
re
9.0ms
(sin.f64 re)
8.0ms
(*.f64 1/2 (sin.f64 re))
Results
ErrorSegmentsBranch
0.7b1re
0.7b1im
0.7b1(*.f64 1/2 (sin.f64 re))
0.7b1(sin.f64 re)
Compiler

Compiled 152 to 86 computations (43.4% saved)

regimes38.0ms (0.5%)

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

4 calls:

10.0ms
(*.f64 1/2 (sin.f64 re))
9.0ms
(sin.f64 re)
9.0ms
re
7.0ms
im
Results
ErrorSegmentsBranch
0.8b1re
0.8b1im
0.8b1(*.f64 1/2 (sin.f64 re))
0.8b1(sin.f64 re)
Compiler

Compiled 136 to 76 computations (44.1% saved)

regimes39.0ms (0.5%)

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

4 calls:

12.0ms
(sin.f64 re)
9.0ms
(*.f64 1/2 (sin.f64 re))
8.0ms
re
7.0ms
im
Results
ErrorSegmentsBranch
0.8b1re
0.8b1im
0.8b1(*.f64 1/2 (sin.f64 re))
0.8b1(sin.f64 re)
Compiler

Compiled 114 to 65 computations (43% saved)

regimes34.0ms (0.4%)

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

4 calls:

12.0ms
(*.f64 1/2 (sin.f64 re))
7.0ms
re
7.0ms
(sin.f64 re)
6.0ms
im
Results
ErrorSegmentsBranch
1.1b1re
1.1b1im
1.1b1(*.f64 1/2 (sin.f64 re))
1.1b1(sin.f64 re)
Compiler

Compiled 85 to 48 computations (43.5% saved)

regimes12.0ms (0.2%)

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

2 calls:

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

Compiled 61 to 34 computations (44.3% saved)

regimes8.0ms (0.1%)

Accuracy

Total -25.8b remaining (-72.3%)

Threshold costs -25.8b (-72.3%)

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

2 calls:

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

Compiled 30 to 17 computations (43.3% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
20×*-commutative
12×+-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029175
147175
249175
350175
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 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(sin.f64 re)
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
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 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(sin.f64 re)
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
re
Compiler

Compiled 74 to 53 computations (28.4% saved)

soundness179.0ms (2.2%)

Algorithm
egg-herbie
Rules
1680×unswap-sqr
1028×associate-/r*
996×fma-def
676×*-commutative
576×associate-/l*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
12935
27035
312333
420533
530233
649733
7125533
8318633
9354133
10397233
11588733
12689833
Stop Event
node limit
Compiler

Compiled 25 to 17 computations (32% saved)

end49.0ms (0.6%)

Compiler

Compiled 62 to 34 computations (45.2% saved)

Profiling

Loading profile data...