math.sin on complex, real part

Time bar (total: 9.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)

sample1.9s (21.1%)

Results
489.0ms1029×body1024valid
427.0ms2555×body256valid
374.0ms2612×body256infinite
359.0ms1050×body1024infinite
151.0ms478×body512infinite
131.0ms529×body512valid
2.0msbody2048valid
1.0msbody2048infinite
Bogosity

preprocess91.0ms (1%)

Algorithm
egg-herbie
Rules
1384×times-frac
1336×fma-def
864×unswap-sqr
632×associate-/r/
620×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
15270
214070
326666
436066
548866
684366
7216166
8478766
9540266
10686266
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify101.0ms (1.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)

localize124.0ms (1.3%)

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

rewrite36.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)))

simplify74.0ms (0.8%)

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)

eval23.0ms (0.3%)

Compiler

Compiled 1255 to 679 computations (45.9% saved)

prune62.0ms (0.7%)

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.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
77.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
91.5%
(*.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.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
11.5%
(*.f64 2 (sin.f64 re))
64.7%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
54.5%
(sin.f64 re)
5.0%
1
9.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
77.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
91.5%
(*.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.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
11.5%
(*.f64 2 (sin.f64 re))
64.7%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
54.5%
(sin.f64 re)
5.0%
1
Compiler

Compiled 372 to 274 computations (26.3% saved)

localize387.0ms (4.2%)

Local Accuracy

Found 8 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)))
100.0%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
95.9%
(*.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))
99.6%
(*.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)

series19.0ms (0.2%)

Counts
8 → 120
Calls

39 calls:

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

rewrite49.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
596×add-sqr-sqrt
580×pow1
578×*-un-lft-identity
560×add-exp-log
558×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027182
1596182
Stop Event
node limit
Counts
8 → 147
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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.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 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))
(+.f64 re re)
(-.f64 -2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(/.f64 re re)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 -2 re)
(/.f64 (-.f64 re re) (-.f64 re 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))
(fma.f64 -2 re 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 re re)
(-.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))
(fma.f64 -2 re re)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(/.f64 re re)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 -2 re)
(/.f64 (-.f64 re re) (-.f64 re 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))

simplify80.0ms (0.9%)

Algorithm
egg-herbie
Rules
1700×distribute-lft-in
1620×distribute-rgt-in
1298×associate-*r*
824×associate-+r+
754×associate-+l+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02695233
16734831
221404425
Stop Event
node limit
Counts
267 → 225
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))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))
(+.f64 2 (+.f64 (pow.f64 im 2) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (*.f64 1/360 (pow.f64 im 6)))))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
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 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))
(+.f64 re re)
(-.f64 -2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(/.f64 re re)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 -2 re)
(/.f64 (-.f64 re re) (-.f64 re 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))
(fma.f64 -2 re 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 re re)
(-.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))
(fma.f64 -2 re re)
(+.f64 re re)
(-.f64 -2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(*.f64 re re)
(*.f64 re -2)
(*.f64 -2 re)
(/.f64 re re)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 -2 re)
(/.f64 (-.f64 re re) (-.f64 re 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))
Outputs
(*.f64 1/2 (*.f64 (+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))) re))
(*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re)
(*.f64 re (+.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2)))
(*.f64 re (+.f64 1 (*.f64 1/2 (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 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re))
(fma.f64 (+.f64 -1/6 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -1/12)) (pow.f64 re 3) (*.f64 re (+.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2))))
(*.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 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 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 (+.f64 -1/6 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -1/12)) (pow.f64 re 3) (*.f64 re (+.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2)))))
(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 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) 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 (+.f64 -1/6 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) -1/12)) (pow.f64 re 3) (*.f64 re (+.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2))))))
(+.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 (*.f64 1/2 (sin.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 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 2 (+.f64 (pow.f64 im 2) (*.f64 1/12 (pow.f64 im 4))))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))))
(*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 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 (*.f64 1/2 (sin.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 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (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 (*.f64 1/2 (sin.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 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/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 (sin.f64 re) (*.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 (*.f64 1/2 (sin.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 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (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 (*.f64 1/2 (sin.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 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
(*.f64 1/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 (sin.f64 re) (*.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 (*.f64 1/2 (sin.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 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (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 (*.f64 1/2 (sin.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 (sin.f64 re)))
(*.f64 1/2 (*.f64 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im))) (sin.f64 re)))
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 (fma.f64 im im 2) (*.f64 1/2 re))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.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 (*.f64 -1/12 (+.f64 2 (*.f64 im im))) (pow.f64 re 3)))
(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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 (*.f64 im 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 im (*.f64 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 im (*.f64 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 im (*.f64 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 (*.f64 im 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 im (*.f64 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 im (*.f64 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 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(*.f64 (fma.f64 im im 2) (*.f64 1/2 re))
(*.f64 re (*.f64 1/2 (fma.f64 im im 2)))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(*.f64 (*.f64 1/2 (+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))) re)
(*.f64 re (+.f64 1 (*.f64 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)) 1/2)))
(*.f64 re (+.f64 1 (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) re) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (+.f64 re (*.f64 1/2 (*.f64 (*.f64 im im) re)))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) re) (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/2 (*.f64 (*.f64 im im) re) re)))
(+.f64 (fma.f64 (*.f64 re 1/720) (pow.f64 im 6) re) (*.f64 re (*.f64 1/2 (fma.f64 1/12 (pow.f64 im 4) (*.f64 im im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (fma.f64 re (exp.f64 im) (/.f64 re (exp.f64 im))))
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 (pow.f64 im 6) 1/360))))
(+.f64 (fma.f64 im im 2) (fma.f64 1/12 (pow.f64 im 4) (*.f64 (pow.f64 im 6) 1/360)))
(+.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 1/2 (*.f64 (*.f64 im im) re) 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) (-.f64 re (*.f64 (pow.f64 im 3) (+.f64 (*.f64 1/2 re) (*.f64 re -1/3))))) (*.f64 im re))
(-.f64 (fma.f64 (*.f64 re -1/6) (pow.f64 im 3) re) (*.f64 im (+.f64 re (*.f64 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)))))
(+.f64 (*.f64 re (fma.f64 im im 2)) (-.f64 (*.f64 (pow.f64 im 3) 0) (*.f64 (pow.f64 im 4) (fma.f64 re -1/6 (*.f64 re 1/12)))))
(+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))
(+.f64 (/.f64 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 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 re)) -2)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 re)) -2)
(-.f64 -1/2 (/.f64 (cos.f64 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))
(+.f64 re re)
(-.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)
1
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
1
(/.f64 -2 re)
(/.f64 (-.f64 re re) (-.f64 re re))
1
(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
(fma.f64 -2 re re)
(neg.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 re re)
(-.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
(fma.f64 -2 re re)
(neg.f64 re)
(+.f64 re re)
(-.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)
(/.f64 re re)
1
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
1
(/.f64 -2 re)
(/.f64 (-.f64 re re) (-.f64 re re))
1
(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

eval64.0ms (0.7%)

Compiler

Compiled 2862 to 1827 computations (36.2% saved)

prune131.0ms (1.4%)

Pruning

33 alts after pruning (28 fresh and 5 done)

PrunedKeptTotal
New20025225
Fresh134
Picked145
Done011
Total20233235
Accurracy
100.0%
Counts
235 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.8%
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
9.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.1%
(pow.f64 (sin.f64 re) -2)
7.2%
(pow.f64 re -2)
2.8%
(/.f64 re -2)
1.9%
(/.f64 -2 re)
2.9%
(-.f64 -2 re)
50.3%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
51.3%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
40.2%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
27.0%
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
91.5%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
35.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
46.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
52.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
5.8%
(*.f64 262144 (*.f64 1/2 re))
11.5%
(*.f64 2 (sin.f64 re))
37.9%
(*.f64 5159780353/5159780352 (sin.f64 re))
23.8%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
64.7%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
50.3%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
5.8%
(*.f64 1/512 (*.f64 1/2 re))
54.5%
(sin.f64 re)
2.8%
(neg.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
5.7%
(log.f64 (/.f64 -2 (exp.f64 re)))
6.5%
(exp.f64 (*.f64 (log.f64 re) -2))
29.8%
re
5.0%
1
3.7%
1/5159780352
7.8%
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
9.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.1%
(pow.f64 (sin.f64 re) -2)
7.2%
(pow.f64 re -2)
2.8%
(/.f64 re -2)
1.9%
(/.f64 -2 re)
2.9%
(-.f64 -2 re)
50.3%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
51.3%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
40.2%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
27.0%
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
91.5%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
35.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
46.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
52.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
5.8%
(*.f64 262144 (*.f64 1/2 re))
11.5%
(*.f64 2 (sin.f64 re))
37.9%
(*.f64 5159780353/5159780352 (sin.f64 re))
23.8%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
64.7%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
50.3%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
5.8%
(*.f64 1/512 (*.f64 1/2 re))
54.5%
(sin.f64 re)
2.8%
(neg.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
5.7%
(log.f64 (/.f64 -2 (exp.f64 re)))
6.5%
(exp.f64 (*.f64 (log.f64 re) -2))
29.8%
re
5.0%
1
3.7%
1/5159780352
Compiler

Compiled 996 to 774 computations (22.3% saved)

localize360.0ms (3.9%)

Compiler

Compiled 118 to 50 computations (57.6% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune84.0ms (0.9%)

Pruning

33 alts after pruning (23 fresh and 10 done)

PrunedKeptTotal
New000
Fresh02323
Picked055
Done055
Total03333
Accurracy
100.0%
Counts
33 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.8%
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
9.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.1%
(pow.f64 (sin.f64 re) -2)
7.2%
(pow.f64 re -2)
2.8%
(/.f64 re -2)
1.9%
(/.f64 -2 re)
2.9%
(-.f64 -2 re)
50.3%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
51.3%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
40.2%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
27.0%
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
91.5%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
35.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
46.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
52.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
5.8%
(*.f64 262144 (*.f64 1/2 re))
11.5%
(*.f64 2 (sin.f64 re))
37.9%
(*.f64 5159780353/5159780352 (sin.f64 re))
23.8%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
64.7%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
50.3%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
5.8%
(*.f64 1/512 (*.f64 1/2 re))
54.5%
(sin.f64 re)
2.8%
(neg.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
5.7%
(log.f64 (/.f64 -2 (exp.f64 re)))
6.5%
(exp.f64 (*.f64 (log.f64 re) -2))
29.8%
re
5.0%
1
3.7%
1/5159780352
7.8%
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
9.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.1%
(pow.f64 (sin.f64 re) -2)
7.2%
(pow.f64 re -2)
2.8%
(/.f64 re -2)
1.9%
(/.f64 -2 re)
2.9%
(-.f64 -2 re)
50.3%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
51.3%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
40.2%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
27.0%
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
91.5%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
35.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
46.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
52.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
5.8%
(*.f64 262144 (*.f64 1/2 re))
11.5%
(*.f64 2 (sin.f64 re))
37.9%
(*.f64 5159780353/5159780352 (sin.f64 re))
23.8%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
64.7%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
50.3%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
5.8%
(*.f64 1/512 (*.f64 1/2 re))
54.5%
(sin.f64 re)
2.8%
(neg.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
5.7%
(log.f64 (/.f64 -2 (exp.f64 re)))
6.5%
(exp.f64 (*.f64 (log.f64 re) -2))
29.8%
re
5.0%
1
3.7%
1/5159780352
Compiler

Compiled 898 to 702 computations (21.8% saved)

localize820.0ms (8.9%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.6%
(log1p.f64 (expm1.f64 re))
91.9%
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
99.9%
(*.f64 (pow.f64 re 3) -1/12)
91.9%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
Compiler

Compiled 89 to 55 computations (38.2% saved)

series7.0ms (0.1%)

Counts
4 → 72
Calls

18 calls:

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

rewrite102.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
984×fma-def
886×pow-exp
742×expm1-udef
736×log1p-udef
620×log-pow
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02272
144472
2544072
Stop Event
node limit
Counts
4 → 132
Calls
Call 1
Inputs
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (pow.f64 re 3) -1/12)
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(log1p.f64 (expm1.f64 re))
Outputs
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 im im)) (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 2))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) (*.f64 2 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 3)) (fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))))))
(/.f64 (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))) (-.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))))
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 3) 1/8 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3))) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 re 3) -1/12)))))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6)))) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 3) 1/8 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3)) (fma.f64 im im 2)) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 re 3) -1/12)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6))) (fma.f64 im im 2)) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 re) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 re (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 1/2 re) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (pow.f64 re 3) -1/12) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 im im) (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 2))
(fma.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 2 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (*.f64 re (cbrt.f64 -1/12)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 re))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) -1/12 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/12) (pow.f64 re 3) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/144 (pow.f64 re 6)))) (*.f64 re (cbrt.f64 -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (*.f64 1/2 re) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/12) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/12) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) re (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) re) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/12))) 1)
(pow.f64 (*.f64 (pow.f64 re 3) -1/12) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/12)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) 2)
(sqrt.f64 (*.f64 1/144 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/12))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/12)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/12))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 re 3) -1/12))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/12)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 1)
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (*.f64 1/2 (sin.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 re) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 re) 2) (expm1.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 re)) 1)
(-.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 re) 2))) (log.f64 (-.f64 1 (expm1.f64 re))))
(*.f64 re 1)
(*.f64 1 re)
(*.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 re re)))
(*.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re))
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
(pow.f64 re 1)
(pow.f64 (pow.f64 re 3) 1/3)
(pow.f64 (cbrt.f64 re) 3)
(pow.f64 (sqrt.f64 re) 2)
(sqrt.f64 (*.f64 re re))
(log.f64 (exp.f64 re))
(cbrt.f64 (pow.f64 re 3))
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/3))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 2))

simplify102.0ms (1.1%)

Algorithm
egg-herbie
Rules
1506×times-frac
818×associate-*r*
792×associate-*l*
648×log-prod
506×cube-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03765786
19615658
238865594
Stop Event
node limit
Counts
204 → 188
Calls
Call 1
Inputs
(*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.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 -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 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(*.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 -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 -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 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(*.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 -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 -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 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3))))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
re
re
re
re
re
re
re
re
re
re
re
re
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 im im)) (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 2))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) (*.f64 2 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 3)) (fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))))))
(/.f64 (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))) (-.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))))
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 3) 1/8 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3))) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 re 3) -1/12)))))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6)))) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 3) 1/8 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3)) (fma.f64 im im 2)) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 re 3) -1/12)))))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6))) (fma.f64 im im 2)) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 re) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 re (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 1/2 re) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (pow.f64 re 3) -1/12) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 im im) (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 2))
(fma.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 2 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (*.f64 re (cbrt.f64 -1/12)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 re))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) -1/12 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/12) (pow.f64 re 3) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/144 (pow.f64 re 6)))) (*.f64 re (cbrt.f64 -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (*.f64 1/2 re) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/12) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/12) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) re (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) re) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/12))) 1)
(pow.f64 (*.f64 (pow.f64 re 3) -1/12) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/12)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) 2)
(sqrt.f64 (*.f64 1/144 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/12))))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/12)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/12))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 re 3) -1/12))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/12)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 1)
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (*.f64 1/2 (sin.f64 re)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 re) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 re) 2) (expm1.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 re)) 1)
(-.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 re) 2))) (log.f64 (-.f64 1 (expm1.f64 re))))
(*.f64 re 1)
(*.f64 1 re)
(*.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 re re)))
(*.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re))
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
(pow.f64 re 1)
(pow.f64 (pow.f64 re 3) 1/3)
(pow.f64 (cbrt.f64 re) 3)
(pow.f64 (sqrt.f64 re) 2)
(sqrt.f64 (*.f64 re re))
(log.f64 (exp.f64 re))
(cbrt.f64 (pow.f64 re 3))
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/3))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 2))
Outputs
(*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 2 (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 1/2 (*.f64 (+.f64 2 (pow.f64 im 2)) re))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)))
(*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2)))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (*.f64 (+.f64 2 (pow.f64 im 2)) (pow.f64 re 3)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)))
(*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2)))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.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 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 -1/12 (pow.f64 re 3))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (*.f64 im im) (*.f64 1/240 (pow.f64 re 5))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (*.f64 im im) (pow.f64 re 7)) (*.f64 (*.f64 1/2 re) (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
re
re
re
re
re
re
re
re
re
re
re
re
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 im im)) (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) (*.f64 2 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(/.f64 (+.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 3) (pow.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 3)) (fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (*.f64 re (fma.f64 im im 2))) 3) (pow.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))) 3)) (+.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (*.f64 1/2 re) (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))) (-.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2)))))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728))) (fma.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 re (*.f64 re 1/4)) (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728))) (fma.f64 (pow.f64 (fma.f64 im im 2) 2) (*.f64 (*.f64 re re) 1/4) (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))) (-.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))))
(/.f64 (*.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))) (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))) (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(/.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 2) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144))) (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12))))
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))) 1)
(/.f64 (*.f64 (fma.f64 im im 2) (fma.f64 (pow.f64 re 3) 1/8 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3))) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 re 3) -1/12)))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 -1/2 (*.f64 re (*.f64 -1/12 (pow.f64 re 3))))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728))))
(*.f64 (/.f64 (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728)) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (*.f64 re (pow.f64 re 3)) -1/24))) (fma.f64 im im 2))
(*.f64 (/.f64 (fma.f64 im im 2) (-.f64 (fma.f64 re (*.f64 re 1/4) (*.f64 1/144 (pow.f64 re 6))) (*.f64 (pow.f64 re 4) -1/24))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728)))
(/.f64 (*.f64 (fma.f64 im im 2) (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6)))) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 -1/144 (pow.f64 re 6))) (/.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12)) (fma.f64 im im 2)))
(*.f64 (/.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12))) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144)))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 3) 1/8 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3)) (fma.f64 im im 2)) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 1/2 (*.f64 re (*.f64 (pow.f64 re 3) -1/12)))))
(/.f64 (fma.f64 im im 2) (/.f64 (+.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 -1/2 (*.f64 re (*.f64 -1/12 (pow.f64 re 3))))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728))))
(*.f64 (/.f64 (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728)) (-.f64 (fma.f64 (*.f64 re re) 1/4 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (*.f64 re (pow.f64 re 3)) -1/24))) (fma.f64 im im 2))
(*.f64 (/.f64 (fma.f64 im im 2) (-.f64 (fma.f64 re (*.f64 re 1/4) (*.f64 1/144 (pow.f64 re 6))) (*.f64 (pow.f64 re 4) -1/24))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/1728)))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6))) (fma.f64 im im 2)) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 -1/144 (pow.f64 re 6))) (/.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12)) (fma.f64 im im 2)))
(*.f64 (/.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12))) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144)))
(pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 1)
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 3)
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 3) 1/3)
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 2)
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(log.f64 (*.f64 (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (exp.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))) 3))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 3)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))) 1) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 3))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 1/3))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (fma.f64 im im 2) (*.f64 1/2 re) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 1/2 (*.f64 re (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 re (*.f64 1/2 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 1/2 re) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (pow.f64 re 3) -1/12) (fma.f64 im im 2) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 im im) (*.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) 2))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12)) (*.f64 2 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) -1/12))))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 1 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (fma.f64 im im 2))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (cbrt.f64 (fma.f64 im im 2)))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (cbrt.f64 (fma.f64 im im 2)) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 1/2 re) (cbrt.f64 (fma.f64 im im 2))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (*.f64 re (cbrt.f64 (fma.f64 im im 2)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (*.f64 re (cbrt.f64 (fma.f64 im im 2)))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (*.f64 re (cbrt.f64 -1/12)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 re (*.f64 (cbrt.f64 -1/12) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (fma.f64 im im 2) (*.f64 re (cbrt.f64 -1/12))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (*.f64 re (fma.f64 im im 2)) (cbrt.f64 -1/12)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (pow.f64 re 3) -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)) 1 (*.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)) 1))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (sqrt.f64 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (sqrt.f64 (fma.f64 im im 2))) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 re))) (*.f64 (sqrt.f64 (fma.f64 im im 2)) (sqrt.f64 (*.f64 1/2 re))) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) -1/12 (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (fma.f64 im im 2) -1/12) (pow.f64 re 3) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/144 (pow.f64 re 6)))) (*.f64 re (cbrt.f64 -1/12)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 re (*.f64 (cbrt.f64 -1/12) (fma.f64 im im 2))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (fma.f64 im im 2) (*.f64 re (cbrt.f64 -1/12))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 1/144 (pow.f64 re 6))) (*.f64 (*.f64 re (fma.f64 im im 2)) (cbrt.f64 -1/12)) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 1/2 re) (cbrt.f64 (fma.f64 im im 2))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (*.f64 re (cbrt.f64 (fma.f64 im im 2)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 1/2 (*.f64 re (cbrt.f64 (fma.f64 im im 2)))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 1/2 re) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/12) (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2))) (cbrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (fma.f64 im im 2))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (pow.f64 (fma.f64 im im 2) 2)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (cbrt.f64 (fma.f64 im im 2)))) (*.f64 1/2 (*.f64 re (fma.f64 im im 2))))
(fma.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/12) (sqrt.f64 (fma.f64 im im 2))) (sqrt.f64 (fma.f64 im im 2)) (*.f64 (fma.f64 im im 2) (*.f64 1/2 re)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (fma.f64 im im 2) 1/2) re (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (fma.f64 im im 2) re) 1/2 (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (fma.f64 im im 2))))
(fma.f64 (*.f64 (fma.f64 im im 2) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 (fma.f64 im im 2) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/12))) 1)
(*.f64 -1/12 (pow.f64 re 3))
(pow.f64 (*.f64 (pow.f64 re 3) -1/12) 1)
(*.f64 -1/12 (pow.f64 re 3))
(pow.f64 (*.f64 re (cbrt.f64 -1/12)) 3)
(*.f64 -1/12 (pow.f64 re 3))
(pow.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3) 1/3)
(*.f64 -1/12 (pow.f64 re 3))
(pow.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) 2)
(*.f64 -1/12 (pow.f64 re 3))
(sqrt.f64 (*.f64 1/144 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))
(*.f64 -1/12 (pow.f64 re 3))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 re 3) -1/12))))
(*.f64 -1/12 (pow.f64 re 3))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/12) 3))
(*.f64 -1/12 (pow.f64 re 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 1))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 1) 1))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/12))) 3))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (pow.f64 re 3) -1/12))) 1/3))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/12)) 3) 1/3))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) 2))
(*.f64 -1/12 (pow.f64 re 3))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 -1/12 (pow.f64 re 3))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 3) 1/3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (sin.f64 re) 2) 1/4) (pow.f64 im 4)))
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))))
(sqrt.f64 (*.f64 1/4 (*.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 im 4))))
(fabs.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (*.f64 1/2 (sin.f64 re)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))) 3))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 im im) 3)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 1))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))) 1) 1))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 3))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))) 1/3))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re))))) 2))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 re) 3)) (log.f64 (+.f64 1 (-.f64 (pow.f64 (expm1.f64 re) 2) (expm1.f64 re)))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 re) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 re) 2) (expm1.f64 re))))
(-.f64 (exp.f64 (log1p.f64 re)) 1)
re
(-.f64 (log.f64 (-.f64 1 (pow.f64 (expm1.f64 re) 2))) (log.f64 (-.f64 1 (expm1.f64 re))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 re) 2))) (log1p.f64 (neg.f64 (expm1.f64 re))))
(*.f64 re 1)
re
(*.f64 1 re)
re
(*.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 re re)))
(*.f64 (cbrt.f64 (*.f64 re re)) (cbrt.f64 re))
(*.f64 (cbrt.f64 re) (cbrt.f64 (*.f64 re re)))
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
re
(pow.f64 re 1)
re
(pow.f64 (pow.f64 re 3) 1/3)
re
(pow.f64 (cbrt.f64 re) 3)
re
(pow.f64 (sqrt.f64 re) 2)
re
(sqrt.f64 (*.f64 re re))
re
(log.f64 (exp.f64 re))
re
(cbrt.f64 (pow.f64 re 3))
re
(expm1.f64 (log1p.f64 re))
re
(exp.f64 (log.f64 re))
re
(exp.f64 (*.f64 (log.f64 re) 1))
re
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1))
re
(exp.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/3))
re
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/3))
re
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 3))
re
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 2))
re

eval112.0ms (1.2%)

Compiler

Compiled 3564 to 2509 computations (29.6% saved)

prune49.0ms (0.5%)

Pruning

37 alts after pruning (23 fresh and 14 done)

PrunedKeptTotal
New1835188
Fresh01818
Picked145
Done01010
Total18437221
Accurracy
100.0%
Counts
221 → 37
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.8%
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
9.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.1%
(pow.f64 (sin.f64 re) -2)
7.2%
(pow.f64 re -2)
2.8%
(/.f64 re -2)
1.9%
(/.f64 -2 re)
2.9%
(-.f64 -2 re)
35.3%
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
50.3%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
40.2%
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
64.7%
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
27.0%
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
91.5%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
35.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
46.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
52.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
77.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
24.0%
(*.f64 (*.f64 1/2 re) (*.f64 im im))
5.8%
(*.f64 262144 (*.f64 1/2 re))
11.5%
(*.f64 2 (sin.f64 re))
37.9%
(*.f64 5159780353/5159780352 (sin.f64 re))
23.8%
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
64.7%
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
50.3%
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
16.0%
(*.f64 1/2 (*.f64 im (*.f64 im re)))
5.8%
(*.f64 1/512 (*.f64 1/2 re))
15.8%
(sqrt.f64 (*.f64 re re))
54.5%
(sin.f64 re)
2.8%
(neg.f64 re)
44.0%
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
38.6%
(log1p.f64 (expm1.f64 re))
5.7%
(log.f64 (/.f64 -2 (exp.f64 re)))
6.5%
(exp.f64 (*.f64 (log.f64 re) -2))
29.8%
re
5.0%
1
3.7%
1/5159780352
Compiler

Compiled 599 to 405 computations (32.4% saved)

regimes157.0ms (1.7%)

Counts
41 → 1
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
(log1p.f64 (expm1.f64 re))
(pow.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 re) -2))
(log.f64 (/.f64 -2 (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.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 (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))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(*.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:

69.0ms
im
23.0ms
(*.f64 1/2 (sin.f64 re))
19.0ms
re
19.0ms
(sin.f64 re)
12.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 326 to 195 computations (40.2% saved)

regimes259.0ms (2.8%)

Counts
39 → 4
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
(log1p.f64 (expm1.f64 re))
(pow.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 re) -2))
(log.f64 (/.f64 -2 (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.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 (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))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (/.f64 re (exp.f64 im))))
Outputs
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re))))))
Calls

4 calls:

68.0ms
(sin.f64 re)
65.0ms
(*.f64 1/2 (sin.f64 re))
65.0ms
im
51.0ms
re
Results
AccuracySegmentsBranch
95.8%3re
97.5%4im
95.8%3(*.f64 1/2 (sin.f64 re))
95.8%3(sin.f64 re)
Compiler

Compiled 280 to 166 computations (40.7% saved)

regimes229.0ms (2.5%)

Counts
37 → 3
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
(log1p.f64 (expm1.f64 re))
(pow.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 re) -2))
(log.f64 (/.f64 -2 (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.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 (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))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
(*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))
Calls

4 calls:

76.0ms
im
49.0ms
re
48.0ms
(*.f64 1/2 (sin.f64 re))
47.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
95.8%3re
95.8%3(*.f64 1/2 (sin.f64 re))
95.8%3(sin.f64 re)
97.5%5im
Compiler

Compiled 260 to 157 computations (39.6% saved)

regimes325.0ms (3.5%)

Counts
36 → 5
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
(log1p.f64 (expm1.f64 re))
(pow.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 re) -2))
(log.f64 (/.f64 -2 (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.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 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 (pow.f64 re 3) -1/12)))
Outputs
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
Calls

4 calls:

113.0ms
im
101.0ms
(*.f64 1/2 (sin.f64 re))
53.0ms
(sin.f64 re)
49.0ms
re
Results
AccuracySegmentsBranch
97.2%5im
90.1%3re
90.1%3(*.f64 1/2 (sin.f64 re))
90.1%3(sin.f64 re)
Compiler

Compiled 244 to 147 computations (39.8% saved)

regimes63.0ms (0.7%)

Counts
32 → 4
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
(log1p.f64 (expm1.f64 re))
(pow.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 re) -2))
(log.f64 (/.f64 -2 (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
Outputs
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
Calls

1 calls:

55.0ms
im
Results
AccuracySegmentsBranch
93.1%4im
Compiler

Compiled 185 to 112 computations (39.5% saved)

regimes59.0ms (0.6%)

Counts
31 → 3
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
(log1p.f64 (expm1.f64 re))
(pow.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 re) -2))
(log.f64 (/.f64 -2 (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
Outputs
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))
Calls

1 calls:

53.0ms
im
Results
AccuracySegmentsBranch
91.3%3im
Compiler

Compiled 176 to 108 computations (38.6% saved)

regimes118.0ms (1.3%)

Counts
30 → 1
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/2985984))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 1/20736))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) 13/12))
(log1p.f64 (expm1.f64 re))
(pow.f64 (sin.f64 re) -2)
(exp.f64 (*.f64 (log.f64 re) -2))
(log.f64 (/.f64 -2 (exp.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) 1/5159780352) -2)
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
Calls

4 calls:

67.0ms
im
16.0ms
(sin.f64 re)
14.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
re
Results
AccuracySegmentsBranch
77.9%1re
77.9%1(*.f64 1/2 (sin.f64 re))
77.9%1(sin.f64 re)
82.8%5im
Compiler

Compiled 181 to 113 computations (37.6% saved)

regimes129.0ms (1.4%)

Counts
20 → 4
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
Outputs
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(sin.f64 re)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)))
Calls

4 calls:

37.0ms
im
32.0ms
(*.f64 1/2 (sin.f64 re))
28.0ms
re
27.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
79.7%4im
68.0%3re
67.6%3(*.f64 1/2 (sin.f64 re))
67.6%3(sin.f64 re)
Compiler

Compiled 106 to 67 computations (36.8% saved)

regimes39.0ms (0.4%)

Counts
18 → 4
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
Outputs
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(sin.f64 re)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
Calls

1 calls:

35.0ms
im
Results
AccuracySegmentsBranch
76.6%4im
Compiler

Compiled 76 to 48 computations (36.8% saved)

regimes30.0ms (0.3%)

Counts
17 → 3
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
(sin.f64 re)
(pow.f64 re -2)
(sqrt.f64 (*.f64 re re))
(*.f64 5159780353/5159780352 (sin.f64 re))
(*.f64 2 (sin.f64 re))
Outputs
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(sin.f64 re)
(*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im))))
Calls

1 calls:

27.0ms
im
Results
AccuracySegmentsBranch
74.8%3im
Compiler

Compiled 69 to 43 computations (37.7% saved)

regimes17.0ms (0.2%)

Counts
12 → 1
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.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
re
7.0ms
im
Results
AccuracySegmentsBranch
50.3%1re
50.3%1im
Compiler

Compiled 55 to 36 computations (34.5% saved)

regimes58.0ms (0.6%)

Counts
11 → 3
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
Outputs
(*.f64 (*.f64 1/2 re) (*.f64 im im))
re
(*.f64 (*.f64 1/2 re) (*.f64 im im))
Calls

2 calls:

32.0ms
re
23.0ms
im
Results
AccuracySegmentsBranch
40.2%5re
50.0%3im
Compiler

Compiled 46 to 31 computations (32.6% saved)

regimes21.0ms (0.2%)

Counts
10 → 3
Calls
Call 1
Inputs
1/5159780352
1
re
(neg.f64 re)
(-.f64 -2 re)
(/.f64 -2 re)
(/.f64 re -2)
(*.f64 1/512 (*.f64 1/2 re))
(*.f64 262144 (*.f64 1/2 re))
(*.f64 1/2 (*.f64 im (*.f64 im re)))
Outputs
(*.f64 1/2 (*.f64 im (*.f64 im re)))
re
(*.f64 1/2 (*.f64 im (*.f64 im re)))
Calls

1 calls:

19.0ms
im
Results
AccuracySegmentsBranch
42.0%3im
Compiler

Compiled 36 to 25 computations (30.6% saved)

regimes15.0ms (0.2%)

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

2 calls:

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

Compiled 32 to 23 computations (28.1% saved)

regimes7.0ms (0.1%)

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

2 calls:

3.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
5.0%1re
5.0%1im
Compiler

Compiled 10 to 8 computations (20% saved)

regimes7.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:

4.0ms
re
2.0ms
im
Results
AccuracySegmentsBranch
3.7%1im
3.7%1re
Compiler

Compiled 9 to 7 computations (22.2% saved)

bsearch111.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
42.0ms
6.1732287758723405
16158784532765.443
39.0ms
-3987894584449606000.0
-30408059.685536742
30.0ms
-1.162746950704213e+101
-8.710899089754528e+96
Results
39.0ms230×body256infinite
26.0ms72×body1024infinite
14.0ms27×body1024valid
10.0ms68×body256valid
10.0ms33×body512infinite
4.0ms17×body512valid
1.0msbody2048valid
Compiler

Compiled 851 to 667 computations (21.6% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4.9085097012593425e-16
1.0569708862950065e-11
0.0ms
-0.010141390836836166
-8.898344580841306e-17
Compiler

Compiled 19 to 15 computations (21.1% saved)

bsearch159.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
42.0ms
4.9434005785568684e+63
8.348194517134925e+86
41.0ms
6.1732287758723405
16158784532765.443
45.0ms
-3987894584449606000.0
-30408059.685536742
31.0ms
-1.162746950704213e+101
-8.710899089754528e+96
Results
62.0ms150×body1024infinite
44.0ms308×body256infinite
16.0ms86×body256valid
13.0ms33×body1024valid
13.0ms38×body512infinite
2.0msbody512valid
1.0msbody2048valid
Compiler

Compiled 995 to 776 computations (22% saved)

bsearch110.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
42.0ms
4.9434005785568684e+63
8.348194517134925e+86
36.0ms
2.0901683741759106e+21
9.970925665538201e+29
32.0ms
-9.635892329651442
-0.20543961190647914
Results
33.0ms205×body256infinite
31.0ms94×body1024infinite
15.0ms72×body256valid
13.0ms31×body1024valid
9.0ms21×body512infinite
2.0msbody512valid
1.0msbody2048valid
Compiler

Compiled 665 to 497 computations (25.3% saved)

bsearch102.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
7.427068346163197e-7
6.1732287758723405
64.0ms
-9.635892329651442
-0.20543961190647914
Results
29.0ms171×body256valid
27.0ms67×body1024valid
4.0ms16×body512valid
1.0msbody2048valid
Compiler

Compiled 403 to 319 computations (20.8% saved)

bsearch109.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
5.07212038182459e+150
2.933684980455887e+151
51.0ms
16158784532765.443
2.0901683741759106e+21
36.0ms
-3987894584449606000.0
-30408059.685536742
Results
61.0ms273×body256infinite
34.0ms91×body1024infinite
8.0ms36×body512infinite
Compiler

Compiled 430 to 329 computations (23.5% saved)

bsearch88.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
5.07212038182459e+150
2.933684980455887e+151
33.0ms
16158784532765.443
2.0901683741759106e+21
34.0ms
-3987894584449606000.0
-30408059.685536742
Results
38.0ms261×body256infinite
34.0ms93×body1024infinite
11.0ms46×body512infinite
Compiler

Compiled 436 to 335 computations (23.2% saved)

bsearch75.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
35.0ms
1.9559533878374486e+87
9.572816404906053e+89
40.0ms
-3987894584449606000.0
-30408059.685536742
Results
33.0ms180×body256infinite
33.0ms85×body1024infinite
5.0ms23×body512infinite
Compiler

Compiled 305 to 229 computations (24.9% saved)

bsearch76.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
36.0ms
6.1732287758723405
16158784532765.443
40.0ms
-3987894584449606000.0
-30408059.685536742
Results
21.0ms51×body1024infinite
18.0ms121×body256infinite
15.0ms95×body256valid
9.0ms23×body1024valid
5.0ms20×body512infinite
3.0ms10×body512valid
Compiler

Compiled 299 to 215 computations (28.1% saved)

bsearch82.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
40.0ms
6.1732287758723405
16158784532765.443
42.0ms
-3987894584449606000.0
-30408059.685536742
Results
25.0ms54×body1024infinite
17.0ms117×body256infinite
16.0ms34×body1024valid
13.0ms85×body256valid
5.0ms21×body512infinite
2.0msbody512valid
Compiler

Compiled 299 to 215 computations (28.1% saved)

simplify25.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01181086
11621086
21641086
31651086
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 -8999999999999999144472792578050411901988841231085565304940929101732582251443526073326638873968640) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im -31000000) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (if (<=.f64 im 370) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))) (log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))))))
(if (<=.f64 (sin.f64 re) -5764607523034235/576460752303423488) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 (sin.f64 re) 2535301200456459/5070602400912917605986812821504) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))))
(if (<=.f64 im -8999999999999999144472792578050411901988841231085565304940929101732582251443526073326638873968640) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im -31000000) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (if (<=.f64 im 6980579422424269/1125899906842624) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))
(if (<=.f64 im -4165829655317709/1125899906842624) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im 2100000000000000000000) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))
(if (<=.f64 im -4165829655317709/1125899906842624) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im 4165829655317709/1125899906842624) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(if (<=.f64 im -330000000000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 16500000000000) (sin.f64 re) (if (<=.f64 im 29000000000000001806458142961406257411922856042893981648978201728252599168749826243390336158413664217039274567450692230254639157970121998486223124955136) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im -3200000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 16500000000000) (sin.f64 re) (if (<=.f64 im 6300000000000000297196522356329421986471845623993615649818120699178715368740039601618269757485999169924877140090959031714022227289665256656266189602816) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im)))))))
(if (<=.f64 im -2050000000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 10199999999999999762735295932612132819548110188706056267379727587590275826260355269525504) (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 im -31000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 6980579422424269/1125899906842624) re (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(if (<=.f64 im -31000000) (*.f64 1/2 (*.f64 im (*.f64 im re))) (if (<=.f64 im 6980579422424269/1125899906842624) re (*.f64 1/2 (*.f64 im (*.f64 im re)))))
re
1
1/5159780352
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im -8999999999999999144472792578050411901988841231085565304940929101732582251443526073326638873968640) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im -31000000) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (if (<=.f64 im 370) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))) (log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 (sin.f64 re)))))))))
(if (<=.f64 im -8999999999999999144472792578050411901988841231085565304940929101732582251443526073326638873968640) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im -31000000) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (if (<=.f64 im 370) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))) (log1p.f64 (expm1.f64 (*.f64 im (*.f64 (*.f64 1/2 (sin.f64 re)) im)))))))
(if (<=.f64 (sin.f64 re) -5764607523034235/576460752303423488) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4)))) (if (<=.f64 (sin.f64 re) 2535301200456459/5070602400912917605986812821504) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 (exp.f64 im) re))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 1/12 (pow.f64 im 4))))))
(if (or (<=.f64 (sin.f64 re) -5764607523034235/576460752303423488) (not (<=.f64 (sin.f64 re) 2535301200456459/5070602400912917605986812821504))) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (+.f64 2 (*.f64 im im)) (*.f64 (pow.f64 im 4) 1/12))) (*.f64 1/2 (+.f64 (/.f64 re (exp.f64 im)) (*.f64 re (exp.f64 im)))))
(if (<=.f64 im -8999999999999999144472792578050411901988841231085565304940929101732582251443526073326638873968640) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im -31000000) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (if (<=.f64 im 6980579422424269/1125899906842624) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))
(if (<=.f64 im -8999999999999999144472792578050411901988841231085565304940929101732582251443526073326638873968640) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im -31000000) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (if (<=.f64 im 6980579422424269/1125899906842624) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))))
(if (<=.f64 im -4165829655317709/1125899906842624) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im 2100000000000000000000) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (if (<=.f64 im 114999999999999997377225245734177625043124954484653241178190190737365693104128) (*.f64 1/2 (fma.f64 (exp.f64 im) re (*.f64 re re))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)))))
(if (<=.f64 im -4165829655317709/1125899906842624) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (if (<=.f64 im 4165829655317709/1125899906842624) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24))))
(if (or (<=.f64 im -4165829655317709/1125899906842624) (not (<=.f64 im 4165829655317709/1125899906842624))) (*.f64 (pow.f64 im 4) (*.f64 (sin.f64 re) 1/24)) (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (*.f64 im im)))
(if (<=.f64 im -330000000000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 16500000000000) (sin.f64 re) (if (<=.f64 im 29000000000000001806458142961406257411922856042893981648978201728252599168749826243390336158413664217039274567450692230254639157970121998486223124955136) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re))))))
(if (<=.f64 im -330000000000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 16500000000000) (sin.f64 re) (if (<=.f64 im 29000000000000001806458142961406257411922856042893981648978201728252599168749826243390336158413664217039274567450692230254639157970121998486223124955136) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im -3200000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 16500000000000) (sin.f64 re) (if (<=.f64 im 6300000000000000297196522356329421986471845623993615649818120699178715368740039601618269757485999169924877140090959031714022227289665256656266189602816) (+.f64 re (*.f64 (pow.f64 re 3) -1/6)) (*.f64 1/2 (*.f64 re (+.f64 2 (*.f64 im im)))))))
(if (<=.f64 im -2050000000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 10199999999999999762735295932612132819548110188706056267379727587590275826260355269525504) (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 im -31000000) (*.f64 (*.f64 1/2 re) (*.f64 im im)) (if (<=.f64 im 6980579422424269/1125899906842624) re (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(if (or (<=.f64 im -31000000) (not (<=.f64 im 6980579422424269/1125899906842624))) (*.f64 (*.f64 1/2 re) (*.f64 im im)) re)
(if (<=.f64 im -31000000) (*.f64 1/2 (*.f64 im (*.f64 im re))) (if (<=.f64 im 6980579422424269/1125899906842624) re (*.f64 1/2 (*.f64 im (*.f64 im re)))))
(if (or (<=.f64 im -31000000) (not (<=.f64 im 6980579422424269/1125899906842624))) (*.f64 1/2 (*.f64 im (*.f64 re im))) re)
re
1
1/5159780352
Compiler

Compiled 428 to 292 computations (31.8% saved)

soundness1.7s (18%)

Rules
1700×distribute-lft-in
1700×distribute-lft-in
1700×distribute-lft-in
1700×distribute-lft-in
1700×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
01141646
13241538
210251420
347771410
027182
1596182
02695233
16734831
221404425
01354
127354
2427754
01141646
13241538
210251420
347771410
01141646
13241538
210251420
347771410
01141646
13241538
210251420
347771410
02695233
16734831
221404425
03765786
19615658
238865594
03765786
19615658
238865594
02695233
16734831
221404425
02695233
16734831
221404425
03765786
19615658
238865594
02695233
16734831
221404425
01141646
13241538
210251420
347771410
027182
1596182
02272
144472
2544072
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
unsound
node limit
node limit
node limit
node limit
Compiler

Compiled 983 to 703 computations (28.5% saved)

end267.0ms (2.9%)

Compiler

Compiled 824 to 488 computations (40.8% saved)

Profiling

Loading profile data...