math.sin on complex, real part

Time bar (total: 8.2s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 15 to 12 computations (20% saved)

sample2.0s (24.6%)

Results
512.0ms1099×body1024valid
467.0ms2600×body256infinite
392.0ms2585×body256valid
318.0ms929×body1024infinite
164.0ms511×body512valid
126.0ms530×body512infinite
2.0msbody2048valid
Bogosity

preprocess91.0ms (1.1%)

Algorithm
egg-herbie
Rules
1388×fma-def
1228×distribute-lft-neg-in
1086×fma-neg
802×times-frac
794×distribute-rgt-neg-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
031144
194144
2254140
3526134
41151132
53093132
65261132
77961132
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.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 1/2 (*.f64 (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 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 (sin.f64 re))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (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 (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 (sin.f64 im) (*.f64 1/2 (+.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))))
Symmetry

(abs im)

Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify82.0ms (1%)

Algorithm
egg-herbie
Rules
1568×unswap-sqr
1404×fma-def
900×fabs-mul
862×associate-/r*
692×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
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 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 47 to 25 computations (46.8% saved)

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New314
Fresh101
Picked000
Done000
Total415
Accurracy
100.0%
Counts
5 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize94.0ms (1.1%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite33.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
264×add-exp-log
262×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01354
127354
2427754
Stop Event
unsound
Counts
2 → 32
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
-2
0
1/512
1/64
1/16
1/8
1/4
1/2
2
im
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -2 (sin.f64 re)))) 1)
(/.f64 (*.f64 -2 (sin.f64 re)) -2)
(/.f64 (*.f64 -2 (sin.f64 re)) 1)
(/.f64 (*.f64 -2 (sin.f64 re)) (+.f64 (*.f64 -2 (sin.f64 re)) (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))))
(/.f64 (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))
(pow.f64 (*.f64 -2 (sin.f64 re)) -2)
(pow.f64 (*.f64 -2 (sin.f64 re)) 1)
(pow.f64 (*.f64 -2 (sin.f64 re)) 3)
(pow.f64 (*.f64 -2 (sin.f64 re)) 1/3)
(sqrt.f64 (*.f64 -2 (sin.f64 re)))
(fabs.f64 (*.f64 -2 (sin.f64 re)))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -2 (sin.f64 re)))))
(cbrt.f64 (*.f64 -2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -2 (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 -2 (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -2 (sin.f64 re))) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 -2 (sin.f64 re))) -2))
(log1p.f64 (expm1.f64 (*.f64 -2 (sin.f64 re))))
(fma.f64 1 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))
(fma.f64 (*.f64 -2 (sin.f64 re)) 1 (*.f64 -2 (sin.f64 re)))

simplify85.0ms (1%)

Algorithm
egg-herbie
Rules
940×fma-neg
892×distribute-lft-out
874×div-sub
842×fma-def
762×associate-*r*
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01141646
13241538
210251420
347771410
Stop Event
node limit
Counts
68 → 95
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)))))
-2
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -2 (sin.f64 re)))) 1)
(/.f64 (*.f64 -2 (sin.f64 re)) -2)
(/.f64 (*.f64 -2 (sin.f64 re)) 1)
(/.f64 (*.f64 -2 (sin.f64 re)) (+.f64 (*.f64 -2 (sin.f64 re)) (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))))
(/.f64 (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))
(pow.f64 (*.f64 -2 (sin.f64 re)) -2)
(pow.f64 (*.f64 -2 (sin.f64 re)) 1)
(pow.f64 (*.f64 -2 (sin.f64 re)) 3)
(pow.f64 (*.f64 -2 (sin.f64 re)) 1/3)
(sqrt.f64 (*.f64 -2 (sin.f64 re)))
(fabs.f64 (*.f64 -2 (sin.f64 re)))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -2 (sin.f64 re)))))
(cbrt.f64 (*.f64 -2 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 -2 (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 -2 (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 -2 (sin.f64 re))) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 -2 (sin.f64 re))) -2))
(log1p.f64 (expm1.f64 (*.f64 -2 (sin.f64 re))))
(fma.f64 1 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))
(fma.f64 (*.f64 -2 (sin.f64 re)) 1 (*.f64 -2 (sin.f64 re)))
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 im im (*.f64 1/12 (pow.f64 im 4))))
(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 2 (fma.f64 im im (fma.f64 1/12 (pow.f64 im 4) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (fma.f64 1/360 (pow.f64 im 6) (*.f64 im im)) (fma.f64 1/12 (pow.f64 im 4) 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 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re))
(*.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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.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/240 (pow.f64 re 5) (*.f64 1/2 re))))
(*.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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 7)) (fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) re) (*.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/240 (pow.f64 re 5) (*.f64 1/2 re)) (fma.f64 -1/10080 (pow.f64 re 7) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.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 1/2 (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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.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 1/2 (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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.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 1/2 (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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.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 1/2 (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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im) (sin.f64 re))
(fma.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)) (sin.f64 re))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (*.f64 im 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 (*.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 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 im (*.f64 im 1/2)) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 im (+.f64 (*.f64 im 1/2) (*.f64 (pow.f64 im 3) 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 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (fma.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re)) (*.f64 (pow.f64 im 6) (*.f64 (sin.f64 re) 1/720)))))
(+.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 im (*.f64 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 1/2 (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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.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 1/2 (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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
-2
0
1/512
1/64
1/16
1/8
1/4
1/2
2
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))
(*.f64 (sin.f64 re) -4)
(-.f64 (exp.f64 (log1p.f64 (*.f64 -2 (sin.f64 re)))) 1)
(*.f64 (sin.f64 re) -2)
(/.f64 (*.f64 -2 (sin.f64 re)) -2)
(sin.f64 re)
(/.f64 (*.f64 -2 (sin.f64 re)) 1)
(*.f64 (sin.f64 re) -2)
(/.f64 (*.f64 -2 (sin.f64 re)) (+.f64 (*.f64 -2 (sin.f64 re)) (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))))
(/.f64 (*.f64 (sin.f64 re) -2) (fma.f64 -2 (sin.f64 re) 0))
(/.f64 (sin.f64 re) (*.f64 1 (sin.f64 re)))
1
(/.f64 (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))) (-.f64 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re))))
(/.f64 (*.f64 (sin.f64 re) -2) (fma.f64 -2 (sin.f64 re) 0))
(/.f64 (sin.f64 re) (*.f64 1 (sin.f64 re)))
1
(pow.f64 (*.f64 -2 (sin.f64 re)) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 -2 (sin.f64 re)) 1)
(*.f64 (sin.f64 re) -2)
(pow.f64 (*.f64 -2 (sin.f64 re)) 3)
(*.f64 -8 (pow.f64 (sin.f64 re) 3))
(pow.f64 (*.f64 -2 (sin.f64 re)) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(sqrt.f64 (*.f64 -2 (sin.f64 re)))
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 -2 (sin.f64 re)))
(*.f64 (sin.f64 re) -2)
(log.f64 (pow.f64 1 (sin.f64 re)))
0
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -2 (sin.f64 re)))))
(*.f64 (sin.f64 re) -2)
(cbrt.f64 (*.f64 -2 (sin.f64 re)))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 -2 (sin.f64 re))))
(*.f64 (sin.f64 re) -2)
(exp.f64 (log.f64 (*.f64 -2 (sin.f64 re))))
(*.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 (*.f64 -2 (sin.f64 re))) 1))
(*.f64 (sin.f64 re) -2)
(exp.f64 (+.f64 (log.f64 (*.f64 -2 (sin.f64 re))) -2))
(*.f64 (*.f64 (sin.f64 re) -2) (exp.f64 -2))
(*.f64 (sin.f64 re) (*.f64 -2 (exp.f64 -2)))
(log1p.f64 (expm1.f64 (*.f64 -2 (sin.f64 re))))
(*.f64 (sin.f64 re) -2)
(fma.f64 1 (*.f64 -2 (sin.f64 re)) (*.f64 -2 (sin.f64 re)))
(*.f64 (sin.f64 re) -4)
(fma.f64 (*.f64 -2 (sin.f64 re)) 1 (*.f64 -2 (sin.f64 re)))
(*.f64 (sin.f64 re) -4)

eval24.0ms (0.3%)

Compiler

Compiled 1255 to 679 computations (45.9% saved)

prune47.0ms (0.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New86995
Fresh000
Picked011
Done000
Total861096
Accurracy
100.0%
Counts
96 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
9.4%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
77.7%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
63.6%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
90.3%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
10.9%
(*.f64 2 (sin.f64 re))
63.6%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
52.1%
(sin.f64 re)
4.1%
1
9.4%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
77.7%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
63.6%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
90.3%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
10.9%
(*.f64 2 (sin.f64 re))
63.6%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
52.1%
(sin.f64 re)
4.1%
1
Compiler

Compiled 372 to 274 computations (26.3% saved)

localize532.0ms (6.5%)

Local Accuracy

Found 7 expressions with local accuracy:

NewAccuracyProgram
100.0%
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
100.0%
(/.f64 re (exp.f64 im))
100.0%
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
93.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
100.0%
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))
99.9%
(*.f64 1/12 (pow.f64 im 4))
97.4%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
Compiler

Compiled 145 to 62 computations (57.2% saved)

series59.0ms (0.7%)

Counts
7 → 96
Calls

33 calls:

TimeVariablePointExpression
46.0ms
re
@-inf
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
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
im
@0
(*.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))))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))

rewrite49.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
554×add-sqr-sqrt
538×pow1
536×*-un-lft-identity
522×add-exp-log
520×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025147
1554147
Stop Event
node limit
Counts
7 → 119
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/12 (pow.f64 im 4))
(+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 re (exp.f64 im))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
Outputs
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
(+.f64 (*.f64 (sin.f64 re) 1/5159780352) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) 1/5159780352) (*.f64 (sin.f64 re) 1/5159780352))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352))) -2)
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) 1/5159780352)
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) (+.f64 (sin.f64 re) (-.f64 (*.f64 (sin.f64 re) 1/5159780352) (*.f64 (sin.f64 re) 1/5159780352))))
(/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352)) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352)))
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) 1/5159780352))
(fabs.f64 (*.f64 (sin.f64 re) 1/5159780352))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (sin.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (sin.f64 re) 1/5159780352))))
(cbrt.f64 (*.f64 (sin.f64 re) 1/5159780352))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/5159780352)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(fma.f64 (sin.f64 re) (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
(fma.f64 (sin.f64 re) -2 (*.f64 (sin.f64 re) 1/5159780352))
(fma.f64 -2 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(/.f64 (sin.f64 re) -2)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
(pow.f64 (sin.f64 re) -2)
(pow.f64 (sin.f64 re) 1/3)
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -2))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) -2 (sin.f64 re))
(fma.f64 -2 (sin.f64 re) (sin.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
im
(-.f64 -2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(pow.f64 re -2)
(pow.f64 re 1/3)
(neg.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(log.f64 (/.f64 -2 (exp.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(+.f64 re re)
(+.f64 (*.f64 (+.f64 re re) re) (*.f64 (+.f64 re re) re))
(+.f64 (*.f64 re (+.f64 re re)) (*.f64 re (+.f64 re re)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 re re))) -2)
(*.f64 (+.f64 re re) (+.f64 re re))
(*.f64 (+.f64 re re) -2)
(*.f64 -2 (+.f64 re re))
(/.f64 (+.f64 re re) (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 (+.f64 re re) -2)
(pow.f64 (+.f64 re re) 1/3)
(sqrt.f64 (+.f64 re re))
(fabs.f64 (+.f64 re re))
(log.f64 (exp.f64 (+.f64 re re)))
(log.f64 (+.f64 -2 (expm1.f64 (+.f64 re re))))
(cbrt.f64 (+.f64 re re))
(expm1.f64 (log1p.f64 (+.f64 re re)))
(exp.f64 (log.f64 (+.f64 re re)))
(exp.f64 (*.f64 (log.f64 (+.f64 re re)) -2))
(log1p.f64 (expm1.f64 (+.f64 re re)))

simplify114.0ms (1.4%)

Algorithm
egg-herbie
Rules
1624×distribute-lft-in
1548×distribute-rgt-in
1148×associate-*r*
1036×associate-*l*
696×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02754453
16654029
220683665
Stop Event
node limit
Counts
215 → 236
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))))
(*.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))))
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)))
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) re))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 3))) re)))
(*.f64 2 re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))) (*.f64 -1 (+.f64 (*.f64 1/6 re) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))))) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
(+.f64 (*.f64 (sin.f64 re) 1/5159780352) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) 1/5159780352) (*.f64 (sin.f64 re) 1/5159780352))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352))) -2)
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) 1/5159780352)
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) (+.f64 (sin.f64 re) (-.f64 (*.f64 (sin.f64 re) 1/5159780352) (*.f64 (sin.f64 re) 1/5159780352))))
(/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352)) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352)))
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) 1/5159780352))
(fabs.f64 (*.f64 (sin.f64 re) 1/5159780352))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (sin.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (sin.f64 re) 1/5159780352))))
(cbrt.f64 (*.f64 (sin.f64 re) 1/5159780352))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/5159780352)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(fma.f64 (sin.f64 re) (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
(fma.f64 (sin.f64 re) -2 (*.f64 (sin.f64 re) 1/5159780352))
(fma.f64 -2 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (sin.f64 re) (sin.f64 re))
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(/.f64 (sin.f64 re) -2)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
(pow.f64 (sin.f64 re) -2)
(pow.f64 (sin.f64 re) 1/3)
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(log.f64 (+.f64 -2 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(exp.f64 (log.f64 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -2))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(fma.f64 (sin.f64 re) -2 (sin.f64 re))
(fma.f64 -2 (sin.f64 re) (sin.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
(-.f64 -2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(pow.f64 re -2)
(pow.f64 re 1/3)
(neg.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(log.f64 (/.f64 -2 (exp.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(+.f64 re re)
(+.f64 (*.f64 (+.f64 re re) re) (*.f64 (+.f64 re re) re))
(+.f64 (*.f64 re (+.f64 re re)) (*.f64 re (+.f64 re re)))
(-.f64 (exp.f64 (log1p.f64 (+.f64 re re))) -2)
(*.f64 (+.f64 re re) (+.f64 re re))
(*.f64 (+.f64 re re) -2)
(*.f64 -2 (+.f64 re re))
(/.f64 (+.f64 re re) (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 (+.f64 re re) -2)
(pow.f64 (+.f64 re re) 1/3)
(sqrt.f64 (+.f64 re re))
(fabs.f64 (+.f64 re re))
(log.f64 (exp.f64 (+.f64 re re)))
(log.f64 (+.f64 -2 (expm1.f64 (+.f64 re re))))
(cbrt.f64 (+.f64 re re))
(expm1.f64 (log1p.f64 (+.f64 re re)))
(exp.f64 (log.f64 (+.f64 re re)))
(exp.f64 (*.f64 (log.f64 (+.f64 re re)) -2))
(log1p.f64 (expm1.f64 (+.f64 re re)))
Outputs
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))
(*.f64 1/2 (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 re))
(+.f64 re (*.f64 1/2 (*.f64 re (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(+.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 1/2 (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))
(fma.f64 1/2 (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (+.f64 (*.f64 1/2 re) (*.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 1/2 (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))))
(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/2 (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 (pow.f64 re 3) -1/12))))
(fma.f64 1/240 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (pow.f64 re 5)) (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (+.f64 (*.f64 1/2 re) (*.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 1/2 (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))))))
(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/2 (*.f64 re (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 (pow.f64 re 3) -1/12)))))
(+.f64 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (+.f64 (*.f64 (pow.f64 re 5) 1/240) (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im 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 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.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 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.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 (*.f64 im im) (sin.f64 re)) (*.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 (*.f64 im im) 1/2)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (sin.f64 re)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.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 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.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 (*.f64 im im) (sin.f64 re)) (*.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 (*.f64 im im) 1/2)))
(*.f64 1/2 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) (sin.f64 re)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.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 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 (sin.f64 re) (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im 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 2 (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)))
(*.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)))
(+.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)))
(*.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)))
(+.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)))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(*.f64 re (*.f64 1/2 (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 (+.f64 2 (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (*.f64 im im)))))
(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 (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 re (+.f64 2 (*.f64 im im))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (*.f64 im im))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (*.f64 im im))))))
(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 (fma.f64 im im 2) (*.f64 (pow.f64 re 5) 1/240))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.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 (pow.f64 re 7) (+.f64 2 (*.f64 im im))) (fma.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (*.f64 im im))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 2 (*.f64 im im)))))))
(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 (fma.f64 im im 2) (*.f64 (pow.f64 re 5) 1/240)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12))) (*.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 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (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 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im 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 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im 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 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.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 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im 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 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im 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 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.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 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im 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 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im 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 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
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 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 2 (+.f64 (*.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 (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)))
re
(+.f64 (*.f64 -1 (*.f64 re im)) re)
(fma.f64 -1 (*.f64 im re) re)
(-.f64 re (*.f64 im re))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) re))
(fma.f64 -1 (*.f64 im re) (fma.f64 -1 (*.f64 (*.f64 im im) (*.f64 re -1/2)) re))
(-.f64 (fma.f64 (*.f64 1/2 re) (*.f64 im im) re) (*.f64 im re))
(-.f64 re (*.f64 im (+.f64 re (*.f64 im (*.f64 re -1/2)))))
(+.f64 (*.f64 -1 (*.f64 re im)) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)) (pow.f64 im 2))) (+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/2 re) (+.f64 (*.f64 1/6 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))))) (pow.f64 im 3))) re)))
(fma.f64 -1 (*.f64 im re) (fma.f64 -1 (*.f64 (*.f64 im im) (*.f64 re -1/2)) (fma.f64 -1 (*.f64 (fma.f64 -1/2 re (fma.f64 1/6 re (neg.f64 (*.f64 re -1/2)))) (pow.f64 im 3)) re)))
(-.f64 (fma.f64 (*.f64 1/2 re) (*.f64 im im) (fma.f64 (+.f64 (neg.f64 (*.f64 re -1/3)) (*.f64 re -1/2)) (pow.f64 im 3) re)) (*.f64 im re))
(-.f64 (fma.f64 (*.f64 re -1/6) (pow.f64 im 3) re) (*.f64 im (+.f64 re (*.f64 im (*.f64 re -1/2)))))
(*.f64 2 re)
(+.f64 re re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(fma.f64 re (*.f64 im im) (+.f64 re re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re)))
(fma.f64 re (*.f64 im im) (fma.f64 -1 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (+.f64 re re)))
(+.f64 (*.f64 re (fma.f64 im im 2)) (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2))))
(+.f64 (*.f64 re (fma.f64 im im 2)) (*.f64 (pow.f64 im 3) 0))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))) (*.f64 -1 (+.f64 (*.f64 1/6 re) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))))) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re))))
(fma.f64 -1 (*.f64 (pow.f64 im 4) (fma.f64 -1/6 re (fma.f64 -1/2 (*.f64 re -1/2) (neg.f64 (fma.f64 1/6 re (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))))))) (fma.f64 re (*.f64 im im) (fma.f64 -1 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (+.f64 re re))))
(-.f64 (+.f64 (*.f64 re (fma.f64 im im 2)) (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2)))) (*.f64 (pow.f64 im 4) (-.f64 (fma.f64 re -1/6 (*.f64 re 1/4)) (+.f64 (*.f64 1/2 re) (*.f64 re -1/3)))))
(fma.f64 (neg.f64 (fma.f64 re -1/6 (*.f64 re 1/12))) (pow.f64 im 4) (+.f64 (*.f64 re (fma.f64 im im 2)) (*.f64 (pow.f64 im 3) 0)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
(fma.f64 (sin.f64 re) 1/5159780352 (sin.f64 re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) 1/5159780352) (sin.f64 re))
(fma.f64 (sin.f64 re) 1/5159780352 (sin.f64 re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) 1/5159780352) (*.f64 (sin.f64 re) 1/5159780352))
(*.f64 (sin.f64 re) 1/2579890176)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352))) -2)
(+.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352))))
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) 1/5159780352)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) (+.f64 (sin.f64 re) (-.f64 (*.f64 (sin.f64 re) 1/5159780352) (*.f64 (sin.f64 re) 1/5159780352))))
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) (+.f64 (sin.f64 re) 0))
(*.f64 (/.f64 (sin.f64 re) (sin.f64 re)) 1/5159780352)
1/5159780352
(/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352)) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352)))
1
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) 1/5159780352))
(sqrt.f64 (*.f64 (sin.f64 re) 1/5159780352))
(fabs.f64 (*.f64 (sin.f64 re) 1/5159780352))
(*.f64 (fabs.f64 (sin.f64 re)) 1/5159780352)
(*.f64 1/5159780352 (fabs.f64 (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 1/5159780352) (sin.f64 re)))
(*.f64 (sin.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (sin.f64 re) 1/5159780352)
(log.f64 (+.f64 -2 (expm1.f64 (*.f64 (sin.f64 re) 1/5159780352))))
(cbrt.f64 (*.f64 (sin.f64 re) 1/5159780352))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(*.f64 (sin.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (sin.f64 re) 1/5159780352)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(*.f64 (sin.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (sin.f64 re) 1/5159780352)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/5159780352)) -2))
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/5159780352)))
(*.f64 (sin.f64 re) (log.f64 (exp.f64 1/5159780352)))
(*.f64 (sin.f64 re) 1/5159780352)
(fma.f64 (sin.f64 re) (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
(*.f64 (sin.f64 re) (+.f64 (sin.f64 re) 1/5159780352))
(fma.f64 (sin.f64 re) -2 (*.f64 (sin.f64 re) 1/5159780352))
(*.f64 (sin.f64 re) -10319560703/5159780352)
(fma.f64 -2 (sin.f64 re) (*.f64 (sin.f64 re) 1/5159780352))
(fma.f64 (sin.f64 re) -2 (*.f64 (sin.f64 re) 1/5159780352))
(*.f64 (sin.f64 re) -10319560703/5159780352)
1/5159780352
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) (+.f64 (sin.f64 re) 0))
(*.f64 (/.f64 (sin.f64 re) (sin.f64 re)) 1/5159780352)
1/2985984
1/20736
1/1728
1/144
1/12
13/12
1/5159780352
(/.f64 (*.f64 (sin.f64 re) 1/5159780352) (+.f64 (sin.f64 re) 0))
(*.f64 (/.f64 (sin.f64 re) (sin.f64 re)) 1/5159780352)
1/2985984
1/20736
1/1728
1/144
1/12
13/12
(+.f64 (sin.f64 re) (sin.f64 re))
(*.f64 2 (sin.f64 re))
(-.f64 -2 (*.f64 -2 (cos.f64 re)))
(+.f64 -2 (*.f64 2 (cos.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) -2)
(+.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (sin.f64 re))))
(/.f64 (sin.f64 re) -2)
(/.f64 (sin.f64 re) (+.f64 (sin.f64 re) (-.f64 (sin.f64 re) (sin.f64 re))))
1
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 (+.f64 re re))) -2)
(-.f64 -1/2 (/.f64 (cos.f64 (+.f64 re re)) -2))
(/.f64 (-.f64 (sin.f64 re) (sin.f64 re)) (-.f64 (sin.f64 re) (sin.f64 re)))
1
(pow.f64 (sin.f64 re) -2)
(pow.f64 (sin.f64 re) 1/3)
(cbrt.f64 (sin.f64 re))
(sqrt.f64 (sin.f64 re))
(fabs.f64 (sin.f64 re))
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 -2 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (sin.f64 re))
(sin.f64 re)
(expm1.f64 (log1p.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (log.f64 (sin.f64 re)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (sin.f64 re)) -2))
(pow.f64 (sin.f64 re) -2)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(fma.f64 (sin.f64 re) -2 (sin.f64 re))
(neg.f64 (sin.f64 re))
(fma.f64 -2 (sin.f64 re) (sin.f64 re))
(fma.f64 (sin.f64 re) -2 (sin.f64 re))
(neg.f64 (sin.f64 re))
-2
-1
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
5
6
8
9
16
27
64
256
512
4096
262144
(-.f64 -2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(+.f64 (exp.f64 (log1p.f64 re)) 2)
(+.f64 2 (exp.f64 (log1p.f64 re)))
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(*.f64 re -2)
(pow.f64 re -2)
(pow.f64 re 1/3)
(cbrt.f64 re)
(neg.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
re
(log.f64 (+.f64 -2 (expm1.f64 re)))
(log.f64 (/.f64 -2 (exp.f64 re)))
(-.f64 (log.f64 -2) re)
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
re
(exp.f64 (log.f64 re))
re
(exp.f64 (*.f64 (log.f64 re) -2))
(pow.f64 re -2)
(log1p.f64 (expm1.f64 re))
re
(+.f64 re re)
(+.f64 (*.f64 (+.f64 re re) re) (*.f64 (+.f64 re re) re))
(*.f64 2 (*.f64 re (+.f64 re re)))
(*.f64 4 (*.f64 re re))
(+.f64 (*.f64 re (+.f64 re re)) (*.f64 re (+.f64 re re)))
(*.f64 2 (*.f64 re (+.f64 re re)))
(*.f64 4 (*.f64 re re))
(-.f64 (exp.f64 (log1p.f64 (+.f64 re re))) -2)
(+.f64 (exp.f64 (log1p.f64 (+.f64 re re))) 2)
(+.f64 2 (exp.f64 (log1p.f64 (+.f64 re re))))
(*.f64 (+.f64 re re) (+.f64 re re))
(*.f64 2 (*.f64 re (+.f64 re re)))
(*.f64 4 (*.f64 re re))
(*.f64 (+.f64 re re) -2)
(*.f64 -2 (+.f64 re re))
(*.f64 re -4)
(*.f64 -2 (+.f64 re re))
(*.f64 re -4)
(/.f64 (+.f64 re re) (+.f64 re (-.f64 re re)))
2
(/.f64 (-.f64 re re) (-.f64 re re))
1
(pow.f64 (+.f64 re re) -2)
(pow.f64 (+.f64 re re) 1/3)
(cbrt.f64 (+.f64 re re))
(sqrt.f64 (+.f64 re re))
(fabs.f64 (+.f64 re re))
(*.f64 2 (fabs.f64 re))
(log.f64 (exp.f64 (+.f64 re re)))
(+.f64 re re)
(log.f64 (+.f64 -2 (expm1.f64 (+.f64 re re))))
(cbrt.f64 (+.f64 re re))
(expm1.f64 (log1p.f64 (+.f64 re re)))
(+.f64 re re)
(exp.f64 (log.f64 (+.f64 re re)))
(+.f64 re re)
(exp.f64 (*.f64 (log.f64 (+.f64 re re)) -2))
(pow.f64 (+.f64 re re) -2)
(log1p.f64 (expm1.f64 (+.f64 re re)))
(+.f64 re re)

eval129.0ms (1.6%)

Compiler

Compiled 3013 to 1887 computations (37.4% saved)

prune106.0ms (1.3%)

Pruning

27 alts after pruning (23 fresh and 4 done)

PrunedKeptTotal
New21620236
Fresh134
Picked235
Done011
Total21927246
Accurracy
100.0%
Counts
246 → 27
Alt Table
Click to see full alt table
StatusAccuracyProgram
9.6%
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
9.3%
(pow.f64 (sin.f64 re) -2)
77.7%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
48.6%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
41.8%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
63.6%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
23.2%
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
5.3%
(*.f64 262144 (*.f64 1/2 re))
5.7%
(*.f64 512 (*.f64 1/2 re))
10.9%
(*.f64 2 (sin.f64 re))
40.3%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
63.2%
(*.f64 1/2 (fma.f64 (exp.f64 im) re re))
8.1%
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
63.6%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
27.0%
(*.f64 1/2 (+.f64 re re))
49.0%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
2.7%
(*.f64 1/2 (*.f64 re -4))
10.0%
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
4.0%
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
5.6%
(*.f64 1/512 (*.f64 1/2 re))
2.7%
(*.f64 -1 (*.f64 1/2 re))
52.1%
(sin.f64 re)
8.7%
(cbrt.f64 (sin.f64 re))
4.1%
1
3.3%
1/5159780352
9.6%
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
9.3%
(pow.f64 (sin.f64 re) -2)
77.7%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
48.6%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
41.8%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
63.6%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
23.2%
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
5.3%
(*.f64 262144 (*.f64 1/2 re))
5.7%
(*.f64 512 (*.f64 1/2 re))
10.9%
(*.f64 2 (sin.f64 re))
40.3%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
63.2%
(*.f64 1/2 (fma.f64 (exp.f64 im) re re))
8.1%
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
63.6%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
27.0%
(*.f64 1/2 (+.f64 re re))
49.0%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
2.7%
(*.f64 1/2 (*.f64 re -4))
10.0%
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
4.0%
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
5.6%
(*.f64 1/512 (*.f64 1/2 re))
2.7%
(*.f64 -1 (*.f64 1/2 re))
52.1%
(sin.f64 re)
8.7%
(cbrt.f64 (sin.f64 re))
4.1%
1
3.3%
1/5159780352
Compiler

Compiled 838 to 634 computations (24.3% saved)

localize198.0ms (2.4%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
100.0%
(fma.f64 (exp.f64 im) re re)
100.0%
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
93.6%
(*.f64 (*.f64 im im) (sin.f64 re))
Compiler

Compiled 93 to 42 computations (54.8% saved)

series6.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

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

rewrite72.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1336×log-prod
710×pow-prod-up
646×pow-exp
518×expm1-udef
514×log1p-udef
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01649
132943
2406931
Stop Event
node limit
Counts
3 → 58
Calls
Call 1
Inputs
(*.f64 (*.f64 im im) (sin.f64 re))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(fma.f64 (exp.f64 im) re re)
Outputs
(+.f64 0 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)
(pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 im 6) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
1/2
(+.f64 re (*.f64 re (exp.f64 im)))
(+.f64 (*.f64 re (exp.f64 im)) re)
(+.f64 0 (fma.f64 re (exp.f64 im) re))
(+.f64 (*.f64 (*.f64 re (exp.f64 im)) 1) re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re))) (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 re (exp.f64 im) re))) 1)
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 (fma.f64 re (exp.f64 im) re) 1)
(*.f64 1 (fma.f64 re (exp.f64 im) re))
(*.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 2) (cbrt.f64 (fma.f64 re (exp.f64 im) re)))
(*.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re)) (sqrt.f64 (fma.f64 re (exp.f64 im) re)))
(*.f64 (+.f64 (exp.f64 im) 1) re)
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (-.f64 (*.f64 re re) (*.f64 (*.f64 re (exp.f64 im)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re re)) (-.f64 (*.f64 re (exp.f64 im)) re))
(pow.f64 (fma.f64 re (exp.f64 im) re) 1)
(pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 3)
(pow.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re)) 2)
(sqrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 2))
(log.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 re (exp.f64 im) re))))
(log.f64 (*.f64 (exp.f64 re) (exp.f64 (*.f64 re (exp.f64 im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (*.f64 re (exp.f64 im)))))
(log.f64 (*.f64 (exp.f64 (*.f64 re (exp.f64 im))) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 3))
(expm1.f64 (log1p.f64 (fma.f64 re (exp.f64 im) re)))
(exp.f64 (log.f64 (fma.f64 re (exp.f64 im) re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 re (exp.f64 im) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 re (exp.f64 im) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 re (exp.f64 im) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 re (exp.f64 im) re)))

simplify79.0ms (1%)

Algorithm
egg-herbie
Rules
1566×fma-def
1056×log-prod
828×unswap-sqr
728×distribute-lft-in
688×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01912154
14402072
214481968
362091956
Stop Event
node limit
Counts
118 → 104
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(*.f64 2 re)
(+.f64 (*.f64 2 re) (*.f64 re im))
(+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 2 re) (*.f64 re im)))
(+.f64 (*.f64 1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 2 re) (*.f64 re im))))
(+.f64 (*.f64 (exp.f64 im) re) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(+.f64 0 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)
(pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 im 6) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 im 6)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
1/2
(+.f64 re (*.f64 re (exp.f64 im)))
(+.f64 (*.f64 re (exp.f64 im)) re)
(+.f64 0 (fma.f64 re (exp.f64 im) re))
(+.f64 (*.f64 (*.f64 re (exp.f64 im)) 1) re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re))) (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 re (exp.f64 im) re))) 1)
(*.f64 re (+.f64 (exp.f64 im) 1))
(*.f64 (fma.f64 re (exp.f64 im) re) 1)
(*.f64 1 (fma.f64 re (exp.f64 im) re))
(*.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 2) (cbrt.f64 (fma.f64 re (exp.f64 im) re)))
(*.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re)) (sqrt.f64 (fma.f64 re (exp.f64 im) re)))
(*.f64 (+.f64 (exp.f64 im) 1) re)
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (-.f64 (*.f64 re re) (*.f64 (*.f64 re (exp.f64 im)) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re re)) (-.f64 (*.f64 re (exp.f64 im)) re))
(pow.f64 (fma.f64 re (exp.f64 im) re) 1)
(pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 3)
(pow.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re)) 2)
(sqrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 2))
(log.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 re (exp.f64 im) re))))
(log.f64 (*.f64 (exp.f64 re) (exp.f64 (*.f64 re (exp.f64 im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (*.f64 re (exp.f64 im)))))
(log.f64 (*.f64 (exp.f64 (*.f64 re (exp.f64 im))) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 3))
(expm1.f64 (log1p.f64 (fma.f64 re (exp.f64 im) re)))
(exp.f64 (log.f64 (fma.f64 re (exp.f64 im) re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 re (exp.f64 im) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 re (exp.f64 im) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 re (exp.f64 im) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 re (exp.f64 im) re)))
Outputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (*.f64 im im) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 1/120 (pow.f64 re 5) re) (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 2 re) (*.f64 re im))
(fma.f64 2 re (*.f64 re im))
(*.f64 re (+.f64 2 im))
(*.f64 re (+.f64 im 2))
(+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 2 re) (*.f64 re im)))
(fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 2 re (*.f64 re im)))
(fma.f64 (*.f64 re (*.f64 im im)) 1/2 (*.f64 re (+.f64 2 im)))
(*.f64 re (+.f64 (+.f64 im 2) (*.f64 (*.f64 im im) 1/2)))
(+.f64 (*.f64 1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (+.f64 (*.f64 2 re) (*.f64 re im))))
(fma.f64 1/6 (*.f64 re (pow.f64 im 3)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) (fma.f64 2 re (*.f64 re im))))
(fma.f64 1/6 (*.f64 re (pow.f64 im 3)) (fma.f64 (*.f64 re (*.f64 im im)) 1/2 (*.f64 re (+.f64 2 im))))
(fma.f64 re (+.f64 im 2) (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 im (*.f64 re 1/6)))))
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (exp.f64 im) re) re)
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(fma.f64 re (exp.f64 im) re)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(fma.f64 re (exp.f64 im) re)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(fma.f64 re (exp.f64 im) re)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 (exp.f64 im)) 1) re))
(fma.f64 re (exp.f64 im) re)
(+.f64 0 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 (sin.f64 re) (*.f64 im im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 (sin.f64 re) im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(*.f64 (sin.f64 re) (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 1)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 3) 1/3)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (*.f64 im im))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(*.f64 (sin.f64 re) (*.f64 im im))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(*.f64 (sin.f64 re) (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))
(*.f64 (sin.f64 re) (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (sin.f64 re))) 3))
(*.f64 (sin.f64 re) (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 im 6) (pow.f64 (sin.f64 re) 3)))
(*.f64 (sin.f64 re) (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 im 6)))
(*.f64 (sin.f64 re) (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 1) 1))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 3))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1/3))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (sin.f64 re) (*.f64 im im))
1/2
(+.f64 re (*.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 re (exp.f64 im)) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 0 (fma.f64 re (exp.f64 im) re))
(fma.f64 re (exp.f64 im) re)
(+.f64 (*.f64 (*.f64 re (exp.f64 im)) 1) re)
(fma.f64 re (exp.f64 im) re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re))) (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))))
(fma.f64 re (exp.f64 im) re)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 re (exp.f64 im) re))) 1)
(fma.f64 re (exp.f64 im) re)
(*.f64 re (+.f64 (exp.f64 im) 1))
(fma.f64 re (exp.f64 im) re)
(*.f64 (fma.f64 re (exp.f64 im) re) 1)
(fma.f64 re (exp.f64 im) re)
(*.f64 1 (fma.f64 re (exp.f64 im) re))
(fma.f64 re (exp.f64 im) re)
(*.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 2))
(fma.f64 re (exp.f64 im) re)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 2) (cbrt.f64 (fma.f64 re (exp.f64 im) re)))
(fma.f64 re (exp.f64 im) re)
(*.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re)) (sqrt.f64 (fma.f64 re (exp.f64 im) re)))
(fma.f64 re (exp.f64 im) re)
(*.f64 (+.f64 (exp.f64 im) 1) re)
(fma.f64 re (exp.f64 im) re)
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (-.f64 (*.f64 re re) (*.f64 (*.f64 re (exp.f64 im)) re))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 re (exp.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re (-.f64 re (*.f64 re (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 re (exp.f64 im)) 3)) (fma.f64 re (-.f64 re (*.f64 re (exp.f64 im))) (pow.f64 (*.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 re (exp.f64 im)) 3)) (fma.f64 re re (*.f64 (*.f64 re (exp.f64 im)) (*.f64 re (-.f64 (exp.f64 im) 1)))))
(/.f64 (+.f64 (pow.f64 re 3) (pow.f64 (*.f64 re (exp.f64 im)) 3)) (fma.f64 re re (*.f64 (*.f64 re (exp.f64 im)) (*.f64 re (expm1.f64 im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re re)) (-.f64 (*.f64 re (exp.f64 im)) re))
(/.f64 (-.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re re)) (*.f64 re (-.f64 (exp.f64 im) 1)))
(/.f64 (fma.f64 re (exp.f64 im) re) (/.f64 (*.f64 re (expm1.f64 im)) (*.f64 re (expm1.f64 im))))
(pow.f64 (fma.f64 re (exp.f64 im) re) 1)
(fma.f64 re (exp.f64 im) re)
(pow.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re)) 3)
(fma.f64 re (exp.f64 im) re)
(pow.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 3) 1/3)
(fma.f64 re (exp.f64 im) re)
(pow.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re)) 2)
(fma.f64 re (exp.f64 im) re)
(sqrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 2))
(fma.f64 re (exp.f64 im) re)
(log.f64 (exp.f64 (fma.f64 re (exp.f64 im) re)))
(fma.f64 re (exp.f64 im) re)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 re (exp.f64 im) re))))
(fma.f64 re (exp.f64 im) re)
(log.f64 (*.f64 (exp.f64 re) (exp.f64 (*.f64 re (exp.f64 im)))))
(fma.f64 re (exp.f64 im) re)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (exp.f64 (*.f64 re (exp.f64 im)))))
(fma.f64 re (exp.f64 im) re)
(log.f64 (*.f64 (exp.f64 (*.f64 re (exp.f64 im))) (+.f64 1 (expm1.f64 re))))
(fma.f64 re (exp.f64 im) re)
(cbrt.f64 (pow.f64 (fma.f64 re (exp.f64 im) re) 3))
(fma.f64 re (exp.f64 im) re)
(expm1.f64 (log1p.f64 (fma.f64 re (exp.f64 im) re)))
(fma.f64 re (exp.f64 im) re)
(exp.f64 (log.f64 (fma.f64 re (exp.f64 im) re)))
(fma.f64 re (exp.f64 im) re)
(exp.f64 (*.f64 (log.f64 (fma.f64 re (exp.f64 im) re)) 1))
(fma.f64 re (exp.f64 im) re)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 re (exp.f64 im) re)) 1) 1))
(fma.f64 re (exp.f64 im) re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 re (exp.f64 im) re))) 3))
(fma.f64 re (exp.f64 im) re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 re (exp.f64 im) re))) 1/3))
(fma.f64 re (exp.f64 im) re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 re (exp.f64 im) re))) 2))
(fma.f64 re (exp.f64 im) re)
(log1p.f64 (expm1.f64 (fma.f64 re (exp.f64 im) re)))
(fma.f64 re (exp.f64 im) re)

eval27.0ms (0.3%)

Compiler

Compiled 1599 to 768 computations (52% saved)

prune50.0ms (0.6%)

Pruning

26 alts after pruning (19 fresh and 7 done)

PrunedKeptTotal
New1004104
Fresh31518
Picked235
Done044
Total10526131
Accurracy
100.0%
Counts
131 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.1%
(/.f64 1/8 (*.f64 re re))
77.7%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
48.6%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
41.8%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
63.6%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
23.2%
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
5.3%
(*.f64 262144 (*.f64 1/2 re))
5.7%
(*.f64 512 (*.f64 1/2 re))
10.9%
(*.f64 2 (sin.f64 re))
40.3%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
63.6%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
63.2%
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
27.0%
(*.f64 1/2 (+.f64 re re))
33.6%
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
49.0%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
2.7%
(*.f64 1/2 (*.f64 re -4))
10.0%
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
4.0%
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
5.6%
(*.f64 1/512 (*.f64 1/2 re))
2.7%
(*.f64 -1 (*.f64 1/2 re))
52.1%
(sin.f64 re)
4.1%
1
4.1%
1/2
3.3%
1/5159780352
8.1%
(/.f64 1/8 (*.f64 re re))
77.7%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
48.6%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
41.8%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
63.6%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
23.2%
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
5.3%
(*.f64 262144 (*.f64 1/2 re))
5.7%
(*.f64 512 (*.f64 1/2 re))
10.9%
(*.f64 2 (sin.f64 re))
40.3%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
63.6%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
63.2%
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
27.0%
(*.f64 1/2 (+.f64 re re))
33.6%
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
49.0%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
2.7%
(*.f64 1/2 (*.f64 re -4))
10.0%
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
4.0%
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
5.6%
(*.f64 1/512 (*.f64 1/2 re))
2.7%
(*.f64 -1 (*.f64 1/2 re))
52.1%
(sin.f64 re)
4.1%
1
4.1%
1/2
3.3%
1/5159780352
Compiler

Compiled 746 to 560 computations (24.9% saved)

localize137.0ms (1.7%)

Local Accuracy

Found 6 expressions with local accuracy:

NewAccuracyProgram
99.5%
(*.f64 (sin.f64 re) 1/24)
97.4%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
99.3%
(/.f64 1/8 (*.f64 re re))
100.0%
(*.f64 (exp.f64 im) re)
100.0%
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
100.0%
(/.f64 re (exp.f64 im))
Compiler

Compiled 86 to 37 computations (57% saved)

series7.0ms (0.1%)

Counts
5 → 68
Calls

24 calls:

TimeVariablePointExpression
2.0ms
re
@-inf
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
0.0ms
re
@inf
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
0.0ms
re
@-inf
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
0.0ms
re
@0
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
0.0ms
im
@0
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))

rewrite101.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1814×log-prod
836×fma-def
670×expm1-udef
664×log1p-udef
384×add-sqr-sqrt
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01885
138781
2493275
Stop Event
node limit
Counts
5 → 145
Calls
Call 1
Inputs
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(*.f64 (exp.f64 im) re)
(/.f64 1/8 (*.f64 re re))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 (sin.f64 re) 1/24)
Outputs
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 2 (cosh.f64 im))))) 1)
(-.f64 (/.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 1)
(*.f64 1 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (/.f64 1 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2))))
(*.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2)) (/.f64 1 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3))))
(/.f64 1 (/.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3))) (neg.f64 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2))) (neg.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))))
(pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 1)
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 3)
(pow.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2))
(log.f64 (exp.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 2 (cosh.f64 im))))))
(log.f64 (*.f64 (exp.f64 (/.f64 re (exp.f64 im))) (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im)))) (pow.f64 (exp.f64 (exp.f64 im)) re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im)))) (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (exp.f64 im)) re) (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))) (exp.f64 (/.f64 re (exp.f64 im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))) (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 3))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(exp.f64 (log.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 (neg.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (/.f64 re (exp.f64 im)) 1 (*.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (exp.f64 im)) 1 (/.f64 re (exp.f64 im)))
(fma.f64 1 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 1 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) re) (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 (neg.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 2) (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 2) (cbrt.f64 (*.f64 re (exp.f64 im))) (/.f64 re (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (*.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (cbrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) re) (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 (neg.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (*.f64 re (exp.f64 im))) (sqrt.f64 (*.f64 re (exp.f64 im))) (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (/.f64 re (exp.f64 im))) (sqrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (neg.f64 re) (/.f64 1 (neg.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) re (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 re (cbrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 re (sqrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 (exp.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 im) (sqrt.f64 re)) (sqrt.f64 re) (/.f64 re (exp.f64 im)))
(+.f64 0 (*.f64 re (exp.f64 im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re)) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (exp.f64 im)))) 1)
(pow.f64 (*.f64 re (exp.f64 im)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (exp.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (exp.f64 im))))
(exp.f64 (+.f64 im (log.f64 re)))
(exp.f64 (*.f64 (+.f64 im (log.f64 re)) 1))
(log1p.f64 (expm1.f64 (*.f64 re (exp.f64 im))))
(+.f64 0 (*.f64 1/8 (pow.f64 re -2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2))) (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/8 (pow.f64 re -2)))) 1)
(*.f64 1/8 (pow.f64 re -2))
(*.f64 (*.f64 1/8 (pow.f64 re -2)) 1)
(*.f64 1 (*.f64 1/8 (pow.f64 re -2)))
(*.f64 (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/64 (pow.f64 re 4))))
(*.f64 (cbrt.f64 (/.f64 1/64 (pow.f64 re 4))) (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))))
(*.f64 (/.f64 (sqrt.f64 1/8) re) (/.f64 (sqrt.f64 1/8) re))
(*.f64 -1/8 (/.f64 1 (*.f64 re (neg.f64 re))))
(*.f64 (pow.f64 re -2) 1/8)
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(pow.f64 (*.f64 1/8 (pow.f64 re -2)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))) 3)
(pow.f64 (pow.f64 (*.f64 1/8 (pow.f64 re -2)) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 1/8) re) 2)
(pow.f64 (*.f64 (*.f64 re re) 8) -1)
(sqrt.f64 (/.f64 1/64 (pow.f64 re 4)))
(log.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 (pow.f64 re -2)))))
(cbrt.f64 (pow.f64 (*.f64 1/8 (pow.f64 re -2)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/8 (pow.f64 re -2))))
(exp.f64 (log.f64 (*.f64 1/8 (pow.f64 re -2))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 re -2))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/8 (pow.f64 re -2))))
(+.f64 0 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) 1)
(pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 (sin.f64 re) 1/24))) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/576) (pow.f64 im 8)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(+.f64 0 (*.f64 (sin.f64 re) 1/24))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24))) 1)
(pow.f64 (*.f64 (sin.f64 re) 1/24) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) 1/24)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) 2)
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/576))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) 1/24))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)) 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/24)))

simplify94.0ms (1.2%)

Algorithm
egg-herbie
Rules
1780×times-frac
652×log-prod
478×associate-*r*
470×cancel-sign-sub-inv
466×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04255575
110395283
237595223
Stop Event
node limit
Counts
213 → 230
Calls
Call 1
Inputs
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 2 re)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))) (*.f64 -1 (+.f64 (*.f64 1/6 re) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))))) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re))))
re
(+.f64 re (*.f64 re im))
(+.f64 re (+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (*.f64 re im)))
(+.f64 re (+.f64 (*.f64 1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (*.f64 re im))))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (pow.f64 re 2))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 1/24 re)
(+.f64 (*.f64 1/24 re) (*.f64 -1/144 (pow.f64 re 3)))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5))))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/120960 (pow.f64 re 7)) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5)))))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 2 (cosh.f64 im))))) 1)
(-.f64 (/.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 1)
(*.f64 1 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (/.f64 1 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2))))
(*.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2)) (/.f64 1 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3))))
(/.f64 1 (/.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3))) (neg.f64 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2))) (neg.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))))
(pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 1)
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 3)
(pow.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2))
(log.f64 (exp.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 2 (cosh.f64 im))))))
(log.f64 (*.f64 (exp.f64 (/.f64 re (exp.f64 im))) (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im)))) (pow.f64 (exp.f64 (exp.f64 im)) re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im)))) (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (exp.f64 im)) re) (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))) (exp.f64 (/.f64 re (exp.f64 im)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))) (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im))))))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 3))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(exp.f64 (log.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 1))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 (neg.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (/.f64 re (exp.f64 im)) 1 (*.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (exp.f64 im)) 1 (/.f64 re (exp.f64 im)))
(fma.f64 1 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 1 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) re) (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 (neg.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 2) (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 2) (cbrt.f64 (*.f64 re (exp.f64 im))) (/.f64 re (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (*.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (cbrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) re) (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 (neg.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (*.f64 re (exp.f64 im))) (sqrt.f64 (*.f64 re (exp.f64 im))) (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (/.f64 re (exp.f64 im))) (sqrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (neg.f64 re) (/.f64 1 (neg.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (exp.f64 (neg.f64 im)) re (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 re (cbrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 re (sqrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 (exp.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (exp.f64 im)) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 im) (sqrt.f64 re)) (sqrt.f64 re) (/.f64 re (exp.f64 im)))
(+.f64 0 (*.f64 re (exp.f64 im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re)) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (exp.f64 im)))) 1)
(pow.f64 (*.f64 re (exp.f64 im)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 3)
(pow.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (exp.f64 im))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2))
(log.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))))
(cbrt.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (exp.f64 im))))
(exp.f64 (+.f64 im (log.f64 re)))
(exp.f64 (*.f64 (+.f64 im (log.f64 re)) 1))
(log1p.f64 (expm1.f64 (*.f64 re (exp.f64 im))))
(+.f64 0 (*.f64 1/8 (pow.f64 re -2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2))) (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/8 (pow.f64 re -2)))) 1)
(*.f64 1/8 (pow.f64 re -2))
(*.f64 (*.f64 1/8 (pow.f64 re -2)) 1)
(*.f64 1 (*.f64 1/8 (pow.f64 re -2)))
(*.f64 (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/64 (pow.f64 re 4))))
(*.f64 (cbrt.f64 (/.f64 1/64 (pow.f64 re 4))) (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))))
(*.f64 (/.f64 (sqrt.f64 1/8) re) (/.f64 (sqrt.f64 1/8) re))
(*.f64 -1/8 (/.f64 1 (*.f64 re (neg.f64 re))))
(*.f64 (pow.f64 re -2) 1/8)
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(pow.f64 (*.f64 1/8 (pow.f64 re -2)) 1)
(pow.f64 (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))) 3)
(pow.f64 (pow.f64 (*.f64 1/8 (pow.f64 re -2)) 3) 1/3)
(pow.f64 (/.f64 (sqrt.f64 1/8) re) 2)
(pow.f64 (*.f64 (*.f64 re re) 8) -1)
(sqrt.f64 (/.f64 1/64 (pow.f64 re 4)))
(log.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 (pow.f64 re -2)))))
(cbrt.f64 (pow.f64 (*.f64 1/8 (pow.f64 re -2)) 3))
(expm1.f64 (log1p.f64 (*.f64 1/8 (pow.f64 re -2))))
(exp.f64 (log.f64 (*.f64 1/8 (pow.f64 re -2))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 re -2))) 1))
(log1p.f64 (expm1.f64 (*.f64 1/8 (pow.f64 re -2))))
(+.f64 0 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) 1)
(pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 (sin.f64 re) 1/24))) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/576) (pow.f64 im 8)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 1))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(+.f64 0 (*.f64 (sin.f64 re) 1/24))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24))) 1)
(pow.f64 (*.f64 (sin.f64 re) 1/24) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) 1/24)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) 2)
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/576))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) 1/24))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)) 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/24)))
Outputs
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 (+.f64 (/.f64 1 (exp.f64 im)) (exp.f64 im)) re)
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 -1 (*.f64 re (-.f64 (*.f64 -1 (exp.f64 im)) (/.f64 1 (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 2 re)
(*.f64 re 2)
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 2 re))
(fma.f64 re (*.f64 im im) (*.f64 re 2))
(*.f64 re (+.f64 2 (*.f64 im im)))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re)))
(fma.f64 re (*.f64 im im) (fma.f64 -1 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (*.f64 re 2)))
(fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2)))))
(fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) 0)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1/6 re) (+.f64 (*.f64 -1/2 (+.f64 (*.f64 -1 re) (*.f64 1/2 re))) (*.f64 -1 (+.f64 (*.f64 1/6 re) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))))) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 im 3) (+.f64 (*.f64 -1/2 re) (*.f64 -1 (+.f64 (*.f64 -1 re) (*.f64 1/2 re)))))) (*.f64 2 re))))
(fma.f64 -1 (*.f64 (fma.f64 -1/6 re (fma.f64 -1/2 (*.f64 re -1/2) (neg.f64 (fma.f64 1/6 re (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2))))))) (pow.f64 im 4)) (fma.f64 re (*.f64 im im) (fma.f64 -1 (*.f64 (pow.f64 im 3) (fma.f64 -1/2 re (neg.f64 (*.f64 re -1/2)))) (*.f64 re 2))))
(-.f64 (fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) (*.f64 0 (*.f64 re -1/2))))) (*.f64 (-.f64 (fma.f64 re -1/6 (*.f64 re 1/4)) (+.f64 (*.f64 re 1/2) (*.f64 re -1/3))) (pow.f64 im 4)))
(-.f64 (fma.f64 re (*.f64 im im) (fma.f64 re 2 (*.f64 (pow.f64 im 3) 0))) (*.f64 (fma.f64 re -1/6 (fma.f64 re -1/6 (*.f64 re 1/4))) (pow.f64 im 4)))
re
(+.f64 re (*.f64 re im))
(+.f64 re (*.f64 im re))
(fma.f64 im re re)
(+.f64 re (+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (*.f64 re im)))
(+.f64 re (fma.f64 1/2 (*.f64 re (*.f64 im im)) (*.f64 im re)))
(+.f64 re (fma.f64 im re (*.f64 re (*.f64 1/2 (*.f64 im im)))))
(+.f64 re (fma.f64 im re (*.f64 (*.f64 im (*.f64 im re)) 1/2)))
(+.f64 re (+.f64 (*.f64 1/6 (*.f64 re (pow.f64 im 3))) (+.f64 (*.f64 1/2 (*.f64 re (pow.f64 im 2))) (*.f64 re im))))
(+.f64 re (fma.f64 1/6 (*.f64 re (pow.f64 im 3)) (fma.f64 1/2 (*.f64 re (*.f64 im im)) (*.f64 im re))))
(+.f64 re (fma.f64 1/6 (*.f64 re (pow.f64 im 3)) (fma.f64 im re (*.f64 re (*.f64 1/2 (*.f64 im im))))))
(+.f64 (fma.f64 1/6 (*.f64 re (pow.f64 im 3)) (*.f64 (*.f64 im (*.f64 im re)) 1/2)) (fma.f64 im re re))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (pow.f64 re 2))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 (*.f64 re 1/24) (pow.f64 im 4))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(fma.f64 -1/144 (*.f64 (pow.f64 im 4) (pow.f64 re 3)) (*.f64 (*.f64 re 1/24) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (fma.f64 re 1/24 (*.f64 -1/144 (pow.f64 re 3))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(fma.f64 -1/144 (*.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (*.f64 1/2880 (*.f64 (pow.f64 im 4) (pow.f64 re 5)))))
(+.f64 (*.f64 (pow.f64 im 4) (fma.f64 re 1/24 (*.f64 -1/144 (pow.f64 re 3)))) (*.f64 (pow.f64 im 4) (*.f64 1/2880 (pow.f64 re 5))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(fma.f64 -1/144 (*.f64 (pow.f64 im 4) (pow.f64 re 3)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2880 (*.f64 (pow.f64 im 4) (pow.f64 re 5)) (*.f64 -1/120960 (*.f64 (pow.f64 im 4) (pow.f64 re 7))))))
(+.f64 (*.f64 (pow.f64 im 4) (fma.f64 re 1/24 (*.f64 -1/144 (pow.f64 re 3)))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/2880 (pow.f64 re 5)) (*.f64 -1/120960 (pow.f64 re 7)))))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(*.f64 1/24 re)
(*.f64 re 1/24)
(+.f64 (*.f64 1/24 re) (*.f64 -1/144 (pow.f64 re 3)))
(fma.f64 1/24 re (*.f64 -1/144 (pow.f64 re 3)))
(fma.f64 re 1/24 (*.f64 -1/144 (pow.f64 re 3)))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5))))
(fma.f64 1/24 re (fma.f64 -1/144 (pow.f64 re 3) (*.f64 1/2880 (pow.f64 re 5))))
(fma.f64 re 1/24 (fma.f64 -1/144 (pow.f64 re 3) (*.f64 1/2880 (pow.f64 re 5))))
(+.f64 (*.f64 1/24 re) (+.f64 (*.f64 -1/120960 (pow.f64 re 7)) (+.f64 (*.f64 -1/144 (pow.f64 re 3)) (*.f64 1/2880 (pow.f64 re 5)))))
(fma.f64 1/24 re (fma.f64 -1/120960 (pow.f64 re 7) (fma.f64 -1/144 (pow.f64 re 3) (*.f64 1/2880 (pow.f64 re 5)))))
(fma.f64 re 1/24 (fma.f64 -1/120960 (pow.f64 re 7) (fma.f64 -1/144 (pow.f64 re 3) (*.f64 1/2880 (pow.f64 re 5)))))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(*.f64 1/24 (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 2 (cosh.f64 im))))) 1)
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(-.f64 (/.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))) (/.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 (exp.f64 im) re) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 re (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(*.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 1)
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(*.f64 1 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(*.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) (pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2) (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(*.f64 (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(*.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (/.f64 1 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) 1) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (fma.f64 (exp.f64 im) re (neg.f64 (/.f64 re (exp.f64 im)))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(*.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2)) (/.f64 1 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 (exp.f64 im) re) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) 1) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (fma.f64 (exp.f64 im) re (neg.f64 (/.f64 re (exp.f64 im)))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 1 (/.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 (exp.f64 im) re) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) 1) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (fma.f64 (exp.f64 im) re (neg.f64 (/.f64 re (exp.f64 im)))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 2) (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (*.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 2) (*.f64 (/.f64 re (exp.f64 im)) (-.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 2) (*.f64 (/.f64 re (exp.f64 im)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 (exp.f64 im) re) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3))) (neg.f64 (fma.f64 (*.f64 re (exp.f64 im)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) 1) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (exp.f64 im) re) 3) (pow.f64 (/.f64 re (exp.f64 im)) 3)) (fma.f64 (*.f64 (exp.f64 im) re) (fma.f64 (exp.f64 im) re (neg.f64 (/.f64 re (exp.f64 im)))) (pow.f64 (/.f64 re (exp.f64 im)) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 re (exp.f64 im)) 2))) (neg.f64 (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))
(/.f64 (-.f64 (pow.f64 (/.f64 re (exp.f64 im)) 2) (pow.f64 (*.f64 (exp.f64 im) re) 2)) (*.f64 re (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 im) re) 2) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (-.f64 (*.f64 (exp.f64 im) re) (/.f64 re (exp.f64 im))))
(/.f64 (-.f64 (pow.f64 (*.f64 (exp.f64 im) re) 2) (pow.f64 (/.f64 re (exp.f64 im)) 2)) (fma.f64 (exp.f64 im) re (neg.f64 (/.f64 re (exp.f64 im)))))
(pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 1)
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 3)
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(pow.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 3) 1/3)
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 2)
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(sqrt.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 2))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(log.f64 (exp.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 2 (cosh.f64 im))))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(log.f64 (*.f64 (exp.f64 (/.f64 re (exp.f64 im))) (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im))))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im)))) (pow.f64 (exp.f64 (exp.f64 im)) re)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im)))) (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im))))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (exp.f64 im)) re) (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im))))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))) (exp.f64 (/.f64 re (exp.f64 im)))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))) (+.f64 1 (expm1.f64 (/.f64 re (exp.f64 im))))))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 2 (cosh.f64 im))) 3))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(exp.f64 (log.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))) 1))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(*.f64 re (*.f64 2 (cosh.f64 im)))
(*.f64 2 (*.f64 (cosh.f64 im) re))
(fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 re (exp.f64 (neg.f64 im)) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (/.f64 re (exp.f64 im)) 1 (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (exp.f64 im)) 1 (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 1 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 1 (*.f64 re (exp.f64 im)) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (exp.f64 im)) 2) (*.f64 (cbrt.f64 (exp.f64 im)) re) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 (neg.f64 im))) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (exp.f64 im)) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 2) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 2) (cbrt.f64 (*.f64 re (exp.f64 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (pow.f64 (cbrt.f64 (/.f64 re (exp.f64 im))) 2) (cbrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sqrt.f64 (exp.f64 im)) re) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 (neg.f64 im))) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (exp.f64 im)) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (*.f64 re (exp.f64 im))) (sqrt.f64 (*.f64 re (exp.f64 im))) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (sqrt.f64 (/.f64 re (exp.f64 im))) (sqrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (neg.f64 re) (/.f64 1 (neg.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (neg.f64 re) (/.f64 1 (neg.f64 (exp.f64 im))) (*.f64 (exp.f64 im) re))
(fma.f64 (neg.f64 re) (/.f64 -1 (exp.f64 im)) (*.f64 (exp.f64 im) re))
(-.f64 (*.f64 (exp.f64 im) re) (neg.f64 (/.f64 re (exp.f64 im))))
(fma.f64 (exp.f64 (neg.f64 im)) re (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 re (cbrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 1 (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 re (cbrt.f64 (exp.f64 im))) (*.f64 (exp.f64 im) re))
(+.f64 (*.f64 (exp.f64 im) re) (/.f64 (/.f64 re (cbrt.f64 (exp.f64 im))) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)))
(fma.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 re (sqrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 1 (sqrt.f64 (exp.f64 im))) (/.f64 re (sqrt.f64 (exp.f64 im))) (*.f64 (exp.f64 im) re))
(+.f64 (*.f64 (exp.f64 im) re) (/.f64 (/.f64 re (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im))))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) 1) (/.f64 (cbrt.f64 re) (exp.f64 im)) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (/.f64 re (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (/.f64 re (exp.f64 im))) (*.f64 (exp.f64 im) re))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 (exp.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (pow.f64 (cbrt.f64 re) 2) (sqrt.f64 (exp.f64 im))) (/.f64 (cbrt.f64 re) (sqrt.f64 (exp.f64 im))) (*.f64 (exp.f64 im) re))
(fma.f64 (/.f64 (sqrt.f64 re) 1) (/.f64 (sqrt.f64 re) (exp.f64 im)) (*.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 re (exp.f64 im)))
(fma.f64 (/.f64 (sqrt.f64 re) (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (/.f64 (sqrt.f64 re) (cbrt.f64 (exp.f64 im))) (*.f64 (exp.f64 im) re))
(fma.f64 (*.f64 re (pow.f64 (cbrt.f64 (exp.f64 im)) 2)) (cbrt.f64 (exp.f64 im)) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 re (sqrt.f64 (exp.f64 im))) (sqrt.f64 (exp.f64 im)) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 im) (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(fma.f64 (*.f64 (exp.f64 im) (sqrt.f64 re)) (sqrt.f64 re) (/.f64 re (exp.f64 im)))
(*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im)))
(+.f64 0 (*.f64 re (exp.f64 im)))
(*.f64 (exp.f64 im) re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re)) (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))))
(*.f64 (exp.f64 im) re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (exp.f64 im)))) 1)
(*.f64 (exp.f64 im) re)
(pow.f64 (*.f64 re (exp.f64 im)) 1)
(*.f64 (exp.f64 im) re)
(pow.f64 (cbrt.f64 (*.f64 re (exp.f64 im))) 3)
(*.f64 (exp.f64 im) re)
(pow.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3) 1/3)
(*.f64 (exp.f64 im) re)
(pow.f64 (sqrt.f64 (*.f64 re (exp.f64 im))) 2)
(*.f64 (exp.f64 im) re)
(sqrt.f64 (pow.f64 (*.f64 re (exp.f64 im)) 2))
(*.f64 (exp.f64 im) re)
(log.f64 (pow.f64 (exp.f64 (exp.f64 im)) re))
(*.f64 (exp.f64 im) re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (exp.f64 im)))))
(*.f64 (exp.f64 im) re)
(cbrt.f64 (pow.f64 (*.f64 re (exp.f64 im)) 3))
(*.f64 (exp.f64 im) re)
(expm1.f64 (log1p.f64 (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) re)
(exp.f64 (+.f64 im (log.f64 re)))
(*.f64 (exp.f64 im) re)
(exp.f64 (*.f64 (+.f64 im (log.f64 re)) 1))
(*.f64 (exp.f64 im) re)
(log1p.f64 (expm1.f64 (*.f64 re (exp.f64 im))))
(*.f64 (exp.f64 im) re)
(+.f64 0 (*.f64 1/8 (pow.f64 re -2)))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2))) (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/8 (pow.f64 re -2)))) 1)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(*.f64 1/8 (pow.f64 re -2))
(/.f64 1/8 (*.f64 re re))
(*.f64 (*.f64 1/8 (pow.f64 re -2)) 1)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(*.f64 1 (*.f64 1/8 (pow.f64 re -2)))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(*.f64 (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/64 (pow.f64 re 4))))
(*.f64 (cbrt.f64 (/.f64 1/64 (pow.f64 re 4))) (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))))
(*.f64 (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))) (cbrt.f64 (/.f64 1/64 (pow.f64 re 4))))
(*.f64 (/.f64 (sqrt.f64 1/8) re) (/.f64 (sqrt.f64 1/8) re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(*.f64 -1/8 (/.f64 1 (*.f64 re (neg.f64 re))))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(*.f64 (pow.f64 re -2) 1/8)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(pow.f64 (*.f64 1/8 (pow.f64 re -2)) 1)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(pow.f64 (cbrt.f64 (*.f64 1/8 (pow.f64 re -2))) 3)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(pow.f64 (pow.f64 (*.f64 1/8 (pow.f64 re -2)) 3) 1/3)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(pow.f64 (/.f64 (sqrt.f64 1/8) re) 2)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(pow.f64 (*.f64 (*.f64 re re) 8) -1)
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(sqrt.f64 (/.f64 1/64 (pow.f64 re 4)))
(log.f64 (pow.f64 (exp.f64 1/8) (pow.f64 re -2)))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/8 (pow.f64 re -2)))))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(cbrt.f64 (pow.f64 (*.f64 1/8 (pow.f64 re -2)) 3))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(expm1.f64 (log1p.f64 (*.f64 1/8 (pow.f64 re -2))))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(exp.f64 (log.f64 (*.f64 1/8 (pow.f64 re -2))))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(exp.f64 (*.f64 (log.f64 (*.f64 1/8 (pow.f64 re -2))) 1))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(log1p.f64 (expm1.f64 (*.f64 1/8 (pow.f64 re -2))))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/8 (pow.f64 re -2))
(+.f64 0 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))) 1)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 1)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 3)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3) 1/3)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 (sin.f64 re) 1/24))) 2)
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/576) (pow.f64 im 8)))
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/576 (pow.f64 im 8))))
(fabs.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) 3))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 im 4) 3) (pow.f64 (*.f64 (sin.f64 re) 1/24) 3)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) (pow.f64 (pow.f64 im 4) 3)))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))) 1))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) 1/24))
(*.f64 1/24 (sin.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))))
(*.f64 1/24 (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24))) 1)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) 1/24) 1)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) 1/24)) 3)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3) 1/3)
(*.f64 1/24 (sin.f64 re))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) 2)
(*.f64 1/24 (sin.f64 re))
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/576))
(sqrt.f64 (pow.f64 (*.f64 1/24 (sin.f64 re)) 2))
(fabs.f64 (*.f64 1/24 (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) 1/24))
(*.f64 1/24 (sin.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) 1/24))))
(*.f64 1/24 (sin.f64 re))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) 1/24) 3))
(*.f64 1/24 (sin.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) 1/24)))
(*.f64 1/24 (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)))
(*.f64 1/24 (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) 1/24)) 1))
(*.f64 1/24 (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) 1/24)))
(*.f64 1/24 (sin.f64 re))

eval78.0ms (1%)

Compiler

Compiled 4232 to 2271 computations (46.3% saved)

prune84.0ms (1%)

Pruning

27 alts after pruning (16 fresh and 11 done)

PrunedKeptTotal
New2585263
Fresh31114
Picked055
Done167
Total26227289
Accurracy
100.0%
Counts
289 → 27
Alt Table
Click to see full alt table
StatusAccuracyProgram
8.1%
(/.f64 1/8 (*.f64 re re))
77.7%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
31.8%
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/24 re) (*.f64 -1/144 (pow.f64 re 3))))
41.8%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
8.1%
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.7%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
33.1%
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
23.2%
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
5.3%
(*.f64 262144 (*.f64 1/2 re))
5.7%
(*.f64 512 (*.f64 1/2 re))
10.9%
(*.f64 2 (sin.f64 re))
63.6%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
27.0%
(*.f64 1/2 (+.f64 re re))
33.6%
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
49.0%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
63.6%
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
2.7%
(*.f64 1/2 (*.f64 re -4))
10.0%
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
4.0%
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
33.1%
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
5.6%
(*.f64 1/512 (*.f64 1/2 re))
2.7%
(*.f64 -1 (*.f64 1/2 re))
52.1%
(sin.f64 re)
4.1%
1
4.1%
1/2
3.3%
1/5159780352
Compiler

Compiled 516 to 347 computations (32.8% saved)

regimes110.0ms (1.3%)

Counts
40 → 1
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(cbrt.f64 (sin.f64 re))
(pow.f64 (sin.f64 re) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.f64 1/2 (fma.f64 (exp.f64 im) re re))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/24 re) (*.f64 -1/144 (pow.f64 re 3))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

21.0ms
re
21.0ms
(sin.f64 re)
21.0ms
im
20.0ms
(*.f64 1/2 (sin.f64 re))
13.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 327 to 201 computations (38.5% saved)

regimes221.0ms (2.7%)

Counts
38 → 3
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(cbrt.f64 (sin.f64 re))
(pow.f64 (sin.f64 re) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.f64 1/2 (fma.f64 (exp.f64 im) re re))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 1/24 re) (*.f64 -1/144 (pow.f64 re 3))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
Outputs
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
Calls

4 calls:

54.0ms
im
54.0ms
(sin.f64 re)
53.0ms
(*.f64 1/2 (sin.f64 re))
52.0ms
re
Results
AccuracySegmentsBranch
96.3%3re
98.5%3im
96.7%3(*.f64 1/2 (sin.f64 re))
96.7%3(sin.f64 re)
Compiler

Compiled 281 to 172 computations (38.8% saved)

regimes57.0ms (0.7%)

Counts
33 → 3
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(cbrt.f64 (sin.f64 re))
(pow.f64 (sin.f64 re) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.f64 1/2 (fma.f64 (exp.f64 im) re re))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
Calls

1 calls:

48.0ms
im
Results
AccuracySegmentsBranch
98.4%3im
Compiler

Compiled 204 to 125 computations (38.7% saved)

regimes53.0ms (0.6%)

Counts
32 → 3
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(cbrt.f64 (sin.f64 re))
(pow.f64 (sin.f64 re) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.f64 1/2 (fma.f64 (exp.f64 im) re re))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
(*.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)))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
Calls

1 calls:

46.0ms
im
Results
AccuracySegmentsBranch
98.4%3im
Compiler

Compiled 193 to 121 computations (37.3% saved)

regimes208.0ms (2.5%)

Counts
29 → 3
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(cbrt.f64 (sin.f64 re))
(pow.f64 (sin.f64 re) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.f64 1/2 (fma.f64 (exp.f64 im) re re))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

66.0ms
(sin.f64 re)
54.0ms
(*.f64 1/2 (sin.f64 re))
42.0ms
im
40.0ms
re
Results
AccuracySegmentsBranch
90.1%3re
90.4%3(*.f64 1/2 (sin.f64 re))
90.4%3(sin.f64 re)
95.4%3im
Compiler

Compiled 179 to 117 computations (34.6% saved)

regimes50.0ms (0.6%)

Counts
23 → 3
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
Outputs
(sin.f64 re)
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))
Calls

1 calls:

45.0ms
im
Results
AccuracySegmentsBranch
92.0%3im
Compiler

Compiled 130 to 88 computations (32.3% saved)

regimes90.0ms (1.1%)

Counts
22 → 2
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
(*.f64 1/2 (+.f64 (*.f64 (exp.f64 im) re) re))
Outputs
(sin.f64 re)
(*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im))))
Calls

2 calls:

64.0ms
(sin.f64 re)
21.0ms
im
Results
AccuracySegmentsBranch
79.2%6(sin.f64 re)
88.7%2im
Compiler

Compiled 126 to 87 computations (31% saved)

regimes52.0ms (0.6%)

Counts
20 → 2
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 1/2 (pow.f64 (+.f64 re re) -2))
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
Outputs
(sin.f64 re)
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
Calls

2 calls:

28.0ms
re
19.0ms
im
Results
AccuracySegmentsBranch
64.5%3re
81.6%2im
Compiler

Compiled 109 to 75 computations (31.2% saved)

regimes21.0ms (0.3%)

Counts
17 → 2
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(*.f64 2 (sin.f64 re))
(*.f64 1/2 (cbrt.f64 (+.f64 re re)))
Outputs
(sin.f64 re)
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
Calls

1 calls:

17.0ms
im
Results
AccuracySegmentsBranch
74.1%2im
Compiler

Compiled 85 to 59 computations (30.6% saved)

regimes20.0ms (0.2%)

Counts
14 → 1
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
Outputs
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
Calls

2 calls:

8.0ms
im
8.0ms
re
Results
AccuracySegmentsBranch
49.0%1re
49.0%1im
Compiler

Compiled 76 to 55 computations (27.6% saved)

regimes37.0ms (0.5%)

Counts
13 → 2
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
(*.f64 (/.f64 1/8 re) (/.f64 1 re))
Outputs
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 im 2)))
Calls

2 calls:

20.0ms
im
14.0ms
re
Results
AccuracySegmentsBranch
35.4%2re
35.8%3im
Compiler

Compiled 67 to 49 computations (26.9% saved)

regimes33.0ms (0.4%)

Counts
11 → 2
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
Outputs
(*.f64 1/2 (+.f64 re re))
(*.f64 1/2 (*.f64 4 (*.f64 re re)))
Calls

2 calls:

18.0ms
re
13.0ms
im
Results
AccuracySegmentsBranch
33.6%2im
33.6%3re
Compiler

Compiled 53 to 39 computations (26.4% saved)

regimes15.0ms (0.2%)

Counts
10 → 2
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(/.f64 1/8 (*.f64 re re))
Outputs
(*.f64 1/2 (+.f64 re re))
(/.f64 1/8 (*.f64 re re))
Calls

1 calls:

13.0ms
im
Results
AccuracySegmentsBranch
32.5%2im
Compiler

Compiled 43 to 33 computations (23.3% saved)

regimes13.0ms (0.2%)

Counts
9 → 1
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
(*.f64 1/2 (+.f64 re re))
(*.f64 512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
Outputs
(*.f64 1/2 (+.f64 re re))
Calls

2 calls:

6.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
27.0%1re
27.0%1im
Compiler

Compiled 41 to 32 computations (22% saved)

regimes13.0ms (0.2%)

Counts
6 → 1
Calls
Call 1
Inputs
1/5159780352
1/2
1
(*.f64 -1 (*.f64 1/2 re))
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re -4))
Outputs
(*.f64 1/512 (*.f64 1/2 re))
Calls

2 calls:

7.0ms
im
5.0ms
re
Results
AccuracySegmentsBranch
5.6%1re
5.6%1im
Compiler

Compiled 26 to 21 computations (19.2% saved)

regimes10.0ms (0.1%)

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

2 calls:

4.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
4.1%1im
4.1%1re
Compiler

Compiled 16 to 13 computations (18.8% saved)

regimes6.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
1/5159780352
Outputs
1/5159780352
Calls

2 calls:

3.0ms
im
2.0ms
re
Results
AccuracySegmentsBranch
3.3%1re
3.3%1im
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch63.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.0ms
3.895856357518351e+76
7.466311281278595e+77
37.0ms
3.330937482376888e-8
6.997087427948562
Results
13.0ms33×body1024valid
12.0ms81×body256valid
11.0ms24×body1024infinite
10.0ms74×body256infinite
10.0ms30×body512valid
3.0ms14×body512infinite
Compiler

Compiled 446 to 303 computations (32.1% saved)

bsearch63.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
3.895856357518351e+76
7.466311281278595e+77
38.0ms
3.330937482376888e-8
6.997087427948562
Results
21.0ms99×body256valid
12.0ms69×body256infinite
9.0ms24×body1024valid
7.0ms21×body1024infinite
5.0ms21×body512valid
5.0ms22×body512infinite
Compiler

Compiled 437 to 312 computations (28.6% saved)

bsearch67.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
31.0ms
3.895856357518351e+76
7.466311281278595e+77
36.0ms
3.330937482376888e-8
6.997087427948562
Results
14.0ms31×body1024valid
14.0ms62×body256infinite
13.0ms86×body256valid
8.0ms28×body512infinite
7.0ms22×body1024infinite
7.0ms27×body512valid
Compiler

Compiled 389 to 312 computations (19.8% saved)

bsearch64.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
27.0ms
3.868466811727532e+149
2.664429134824757e+152
37.0ms
3.330937482376888e-8
6.997087427948562
Results
18.0ms90×body256valid
11.0ms78×body256infinite
10.0ms26×body1024valid
8.0ms25×body1024infinite
7.0ms28×body512valid
6.0ms25×body512infinite
Compiler

Compiled 427 to 338 computations (20.8% saved)

bsearch56.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
6.26607342470389e+214
8.260080044762884e+215
35.0ms
3.330937482376888e-8
6.997087427948562
Results
14.0ms33×body1024valid
13.0ms88×body256valid
8.0ms61×body256infinite
8.0ms24×body1024infinite
6.0ms23×body512valid
4.0ms11×body512infinite
Compiler

Compiled 295 to 234 computations (20.7% saved)

bsearch35.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
35.0ms
3.330937482376888e-8
6.997087427948562
Results
13.0ms86×body256valid
12.0ms32×body1024valid
7.0ms26×body512valid
Compiler

Compiled 163 to 132 computations (19% saved)

bsearch30.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
29.0ms
7335166069009.538
798969773764577500.0
Results
13.0ms93×body256infinite
9.0ms29×body1024infinite
5.0ms22×body512infinite
Compiler

Compiled 154 to 123 computations (20.1% saved)

bsearch10.0ms (0.1%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
10.0ms
1.077188573111952e+25
1.5162878958571937e+25
Results
4.0ms28×body256infinite
3.0ms10×body1024infinite
2.0ms10×body512infinite
Compiler

Compiled 70 to 54 computations (22.9% saved)

bsearch28.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
28.0ms
-1.5761824392981288e+134
-3.9409452332846314e+132
Results
15.0ms62×body512valid
11.0ms50×body512infinite
Compiler

Compiled 159 to 127 computations (20.1% saved)

bsearch58.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
58.0ms
1023221236759.7786
7335166069009.538
Results
44.0ms20×body1024infinite
8.0ms58×body256infinite
4.0ms18×body512infinite
Compiler

Compiled 127 to 99 computations (22% saved)

bsearch25.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
24.0ms
254.55936671098198
1329.6536511368831
Results
8.0ms19×body1024infinite
7.0ms38×body256valid
3.0ms20×body256infinite
3.0ms11×body512infinite
3.0msbody1024valid
0.0msbody512valid
Compiler

Compiled 115 to 87 computations (24.3% saved)

simplify20.0ms (0.2%)

Algorithm
egg-herbie
Rules
52×*-commutative
12×+-commutative
sub-neg
neg-mul-1
if-if-or-not
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
099769
1138769
2140769
3141769
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 7566047373982433/72057594037927936) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 8358680908399641/144115188075855872) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 1080863910568919/18014398509481984) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 3170534137668829/72057594037927936) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 260000000000000007373513317859034532887515937743959970215605982324473053958289817644705447767982196055550397803186375947510295712639209896628904800550912) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 5764607523034235/576460752303423488) (sin.f64 re) (if (<=.f64 im 699999999999999953759041487412589747897064305200969449395799083966279702990636875879412141586111144723922485411804031416672893771159946120393416607246403738393472341399990193622010050490491998603178313451923520356352) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im 5188146770730811/288230376151711744) (sin.f64 re) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(if (<=.f64 im 8200000000000000) (sin.f64 re) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(if (<=.f64 im 11999999999999999798673408) (sin.f64 re) (*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(if (<=.f64 re -69999999999999996521125272024886856173971732288433749873145228382724680524314849428381037831258745904044987370594172652672047055372288) (*.f64 1/2 (*.f64 4 (*.f64 re re))) (*.f64 1/2 (*.f64 re (+.f64 im 2))))
(if (<=.f64 im 1900000000000) (*.f64 1/2 (+.f64 re re)) (*.f64 1/2 (*.f64 4 (*.f64 re re))))
(if (<=.f64 im 890) (*.f64 1/2 (+.f64 re re)) (/.f64 1/8 (*.f64 re re)))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/512 (*.f64 1/2 re))
1/2
1/5159780352
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 7566047373982433/72057594037927936) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 7566047373982433/72057594037927936) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 8358680908399641/144115188075855872) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 8358680908399641/144115188075855872) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im im) 2)) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 1080863910568919/18014398509481984) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 1080863910568919/18014398509481984) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im im) 2)) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (<=.f64 im 3170534137668829/72057594037927936) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 260000000000000007373513317859034532887515937743959970215605982324473053958289817644705447767982196055550397803186375947510295712639209896628904800550912) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))))
(if (or (<=.f64 im 3170534137668829/72057594037927936) (not (<=.f64 im 260000000000000007373513317859034532887515937743959970215605982324473053958289817644705447767982196055550397803186375947510295712639209896628904800550912))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (*.f64 im im) 2)) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(if (<=.f64 im 5764607523034235/576460752303423488) (sin.f64 re) (if (<=.f64 im 699999999999999953759041487412589747897064305200969449395799083966279702990636875879412141586111144723922485411804031416672893771159946120393416607246403738393472341399990193622010050490491998603178313451923520356352) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im 5764607523034235/576460752303423488) (sin.f64 re) (if (<=.f64 im 699999999999999953759041487412589747897064305200969449395799083966279702990636875879412141586111144723922485411804031416672893771159946120393416607246403738393472341399990193622010050490491998603178313451923520356352) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))) (*.f64 im (*.f64 (*.f64 1/2 (sin.f64 re)) im))))
(if (<=.f64 im 5188146770730811/288230376151711744) (sin.f64 re) (*.f64 1/2 (*.f64 re (*.f64 2 (cosh.f64 im)))))
(if (<=.f64 im 8200000000000000) (sin.f64 re) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(if (<=.f64 im 11999999999999999798673408) (sin.f64 re) (*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im)))))
(if (<=.f64 im 11999999999999999798673408) (sin.f64 re) (*.f64 1/2 (*.f64 re (+.f64 (*.f64 im im) 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(*.f64 1/2 (*.f64 re (+.f64 (*.f64 im im) 2)))
(if (<=.f64 re -69999999999999996521125272024886856173971732288433749873145228382724680524314849428381037831258745904044987370594172652672047055372288) (*.f64 1/2 (*.f64 4 (*.f64 re re))) (*.f64 1/2 (*.f64 re (+.f64 im 2))))
(if (<=.f64 im 1900000000000) (*.f64 1/2 (+.f64 re re)) (*.f64 1/2 (*.f64 4 (*.f64 re re))))
(if (<=.f64 im 890) (*.f64 1/2 (+.f64 re re)) (/.f64 1/8 (*.f64 re re)))
(*.f64 1/2 (+.f64 re re))
(*.f64 1/512 (*.f64 1/2 re))
1/2
1/5159780352
Compiler

Compiled 318 to 227 computations (28.6% saved)

soundness2.0s (25%)

Rules
1814×log-prod
1780×times-frac
1624×distribute-lft-in
1624×distribute-lft-in
1624×distribute-lft-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
01141646
13241538
210251420
347771410
025147
1554147
02754453
16654029
220683665
01141646
13241538
210251420
347771410
025147
1554147
01649
132943
2406931
01141646
13241538
210251420
347771410
025147
1554147
02754453
16654029
220683665
01912154
14402072
214481968
362091956
025147
1554147
02754453
16654029
220683665
01912154
14402072
214481968
362091956
01141646
13241538
210251420
347771410
02754453
16654029
220683665
02754453
16654029
220683665
01885
138781
2493275
04255575
110395283
237595223
02754453
16654029
220683665
01141646
13241538
210251420
347771410
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 992 to 582 computations (41.3% saved)

end0.0ms (0%)

preprocess209.0ms (2.6%)

Remove

(abs im)

Compiler

Compiled 626 to 382 computations (39% saved)

Profiling

Loading profile data...