math.sin on complex, real part

Time bar (total: 7.0s)

analyze1.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

sample2.4s (33.7%)

Results
600.0ms1061×body1024valid
599.0ms2635×body256valid
453.0ms2561×body256infinite
396.0ms976×body1024infinite
168.0ms530×body512valid
133.0ms491×body512infinite
2.0msbody2048valid
Bogosity

preprocess96.0ms (1.4%)

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

Useful iterations: 4 (0.0ms)

IterNodesCost
031179
194179
2254175
3526167
41151165
53093165
65261165
77961165
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 (sin.f64 re))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs im)

Compiler

Compiled 14 to 11 computations (21.4% saved)

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune2.0ms (0%)

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)

localize78.0ms (1.1%)

Localize:

Found 2 expressions with local error:

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

Compiled 36 to 14 computations (61.1% saved)

series35.0ms (0.5%)

Counts
2 → 28
Calls

9 calls:

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

rewrite36.0ms (0.5%)

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
01340
127340
2427840
Stop Event
unsound
Counts
2 → 42
Calls
Call 1
Inputs
(sin.f64 re)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 1)
(*.f64 (sin.f64 re) (sin.f64 re))
(*.f64 (sin.f64 re) 1)
(*.f64 1 (sin.f64 re))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(pow.f64 (sin.f64 re) -2)
(pow.f64 (sin.f64 re) 1)
(pow.f64 (sin.f64 re) 3)
(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 1 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (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)) 1))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))

simplify32.0ms (0.4%)

Algorithm
egg-herbie
Rules
176×associate-*r*
172×fma-def
154×associate-*l*
106×*-commutative
102×distribute-lft-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01431438
13851438
218051438
Stop Event
unsound
Counts
70 → 68
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 1)
(*.f64 (sin.f64 re) (sin.f64 re))
(*.f64 (sin.f64 re) 1)
(*.f64 1 (sin.f64 re))
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(pow.f64 (sin.f64 re) -2)
(pow.f64 (sin.f64 re) 1)
(pow.f64 (sin.f64 re) 3)
(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 1 (expm1.f64 (sin.f64 re))))
(cbrt.f64 (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)) 1))
(log1p.f64 (expm1.f64 (sin.f64 re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
Outputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (pow.f64 re 5)) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(fma.f64 1/120 (pow.f64 re 5) (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 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))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 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)))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 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 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 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 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 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 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 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 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))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (fma.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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (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 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 -2 (*.f64 2 (cos.f64 (*.f64 re -2))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 re))) 1)
(sin.f64 re)
(*.f64 (sin.f64 re) (sin.f64 re))
(sin.f64 re)
(*.f64 (sin.f64 re) 1)
(sin.f64 re)
(*.f64 1 (sin.f64 re))
(sin.f64 re)
(/.f64 (-.f64 (cos.f64 (-.f64 re re)) (cos.f64 (+.f64 re re))) -2)
(/.f64 (-.f64 (cos.f64 0) (cos.f64 (+.f64 re re))) -2)
(pow.f64 (sin.f64 re) -2)
(sin.f64 re)
(pow.f64 (sin.f64 re) 1)
(sin.f64 re)
(pow.f64 (sin.f64 re) 3)
(sin.f64 re)
(pow.f64 (sin.f64 re) 1/3)
(sin.f64 re)
(sqrt.f64 (sin.f64 re))
(sin.f64 re)
(fabs.f64 (sin.f64 re))
(sin.f64 re)
(log.f64 (exp.f64 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (sin.f64 re))))
(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)) 1))
(sin.f64 re)
(log1p.f64 (expm1.f64 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sin.f64 re)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fabs.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(log.f64 (pow.f64 1 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(sin.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(sin.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(sin.f64 re)

eval16.0ms (0.2%)

Compiler

Compiled 983 to 473 computations (51.9% saved)

prune21.0ms (0.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New62668
Fresh000
Picked011
Done000
Total62769
Accuracy
100.0%
Counts
69 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
11.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
79.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
11.1%
(+.f64 (sin.f64 re) (sin.f64 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
55.8%
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.5%
(sin.f64 re)
11.0%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
79.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
11.1%
(+.f64 (sin.f64 re) (sin.f64 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
55.8%
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.5%
(sin.f64 re)
Compiler

Compiled 262 to 192 computations (26.7% saved)

localize196.0ms (2.8%)

Localize:

Found 8 expressions with local error:

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

Compiled 88 to 33 computations (62.5% saved)

series10.0ms (0.1%)

Counts
4 → 84
Calls

21 calls:

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

rewrite48.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
444×add-sqr-sqrt
430×pow1
428×*-un-lft-identity
416×add-exp-log
414×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020100
1435100
27143100
Stop Event
unsound
Counts
4 → 87
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
im
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
im
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
im
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -512)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 -512 re re)
(fma.f64 re -512 re)

simplify100.0ms (1.4%)

Algorithm
egg-herbie
Rules
1182×distribute-lft-out
1134×fma-def
600×unswap-sqr
586×+-commutative
546×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01473149
13333113
28383113
334273113
Stop Event
node limit
Counts
171 → 77
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(/.f64 1/4 (pow.f64 re 2))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/378 (pow.f64 re 4)))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 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 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)))))
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))
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -512)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 -512 re re)
(fma.f64 re -512 re)
Outputs
(*.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 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.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 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(fma.f64 -1/12 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (*.f64 im im) (pow.f64 re 7)) (*.f64 (*.f64 1/2 re) (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im 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 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(fma.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) re (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (*.f64 im im) 1/240)))))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 (pow.f64 re 3) (fma.f64 (*.f64 im im) -1/12 -1/6) (*.f64 (pow.f64 re 5) (fma.f64 (*.f64 im im) 1/240 1/120))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(fma.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) re (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (fma.f64 (fma.f64 -1/10080 (*.f64 im im) -1/5040) (pow.f64 re 7) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (*.f64 im im) 1/240))))))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 (pow.f64 re 3) (fma.f64 (*.f64 im im) -1/12 -1/6) (fma.f64 (pow.f64 re 5) (fma.f64 (*.f64 im im) 1/240 1/120) (*.f64 (pow.f64 re 7) (fma.f64 (*.f64 im im) -1/10080 -1/5040)))))
(+.f64 (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 (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 (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 (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 (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 (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 (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 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (*.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 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(+.f64 (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 (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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(+.f64 (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 (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 (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 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(+.f64 (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 (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 (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/4 (pow.f64 re 2))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/378 (pow.f64 re 4)))))
(+.f64 (+.f64 1/12 (/.f64 1/4 (*.f64 re re))) (fma.f64 1/60 (*.f64 re re) (*.f64 1/378 (pow.f64 re 4))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 (*.f64 re re) 1/60 (*.f64 1/378 (pow.f64 re 4)))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
re
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.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 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.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 (*.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 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-512
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-8
-4
-2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
0
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/512
1/64
1/16
1/8
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
8
9
16
27
64
-512
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-8
-4
-2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
0
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/512
1/64
1/16
1/8
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
8
9
16
27
64
-512
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-8
-4
-2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
0
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/512
1/64
1/16
1/8
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
8
9
16
27
64
(+.f64 re re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(-.f64 (exp.f64 (log1p.f64 re)) -512)
(+.f64 (exp.f64 (log1p.f64 re)) 512)
(/.f64 re -512)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(/.f64 (-.f64 re re) (-.f64 re re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 re -512)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 re 1/3)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(sqrt.f64 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(fabs.f64 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log.f64 (exp.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(expm1.f64 (log1p.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(exp.f64 (log.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 re) -512))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log1p.f64 (expm1.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(fma.f64 -512 re re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(fma.f64 re -512 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))

eval196.0ms (2.8%)

Compiler

Compiled 8124 to 4245 computations (47.7% saved)

prune65.0ms (0.9%)

Pruning

21 alts after pruning (17 fresh and 4 done)

PrunedKeptTotal
New70817725
Fresh101
Picked235
Done011
Total71121732
Accuracy
100.0%
Counts
732 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.7%
(fma.f64 re -512 re)
11.8%
(pow.f64 re -512)
5.0%
(/.f64 re (+.f64 re (-.f64 re re)))
2.7%
(/.f64 re -512)
4.9%
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
55.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
79.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
4.2%
(+.f64 (sin.f64 re) -2)
3.8%
(+.f64 (sin.f64 re) -512)
53.0%
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
47.5%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
35.9%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.8%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.5%
(sin.f64 re)
37.3%
(log1p.f64 (expm1.f64 re))
29.4%
(log.f64 (exp.f64 (sin.f64 re)))
14.1%
(fabs.f64 re)
4.0%
(cbrt.f64 re)
26.6%
re
2.7%
(fma.f64 re -512 re)
11.8%
(pow.f64 re -512)
5.0%
(/.f64 re (+.f64 re (-.f64 re re)))
2.7%
(/.f64 re -512)
4.9%
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
55.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
79.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
4.2%
(+.f64 (sin.f64 re) -2)
3.8%
(+.f64 (sin.f64 re) -512)
53.0%
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
47.5%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
35.9%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.8%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.5%
(sin.f64 re)
37.3%
(log1p.f64 (expm1.f64 re))
29.4%
(log.f64 (exp.f64 (sin.f64 re)))
14.1%
(fabs.f64 re)
4.0%
(cbrt.f64 re)
26.6%
re
Compiler

Compiled 574 to 424 computations (26.1% saved)

localize198.0ms (2.8%)

Localize:

Found 6 expressions with local error:

NewAccuracyProgram
100.0%
(sin.f64 re)
95.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
100.0%
(sin.f64 re)
100.0%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
99.8%
(*.f64 -1/6 (pow.f64 re 3))
82.1%
(*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im))
Compiler

Compiled 109 to 58 computations (46.8% saved)

series8.0ms (0.1%)

Counts
3 → 27
Calls

12 calls:

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

rewrite81.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1828×prod-diff
1302×log-prod
678×fma-def
552×pow-exp
476×expm1-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01369
128761
2359561
Stop Event
node limit
Counts
3 → 106
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
Outputs
(+.f64 0 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) (*.f64 (*.f64 im im) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 (*.f64 1/2 re) (*.f64 im im)) (*.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2) 1/4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)) 3) (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 (*.f64 im im) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 im im)))
(+.f64 0 (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))) (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 re 3)))) 1)
(pow.f64 (*.f64 -1/6 (pow.f64 re 3)) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(pow.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) 2)
(pow.f64 (*.f64 -1/216 (pow.f64 (pow.f64 re 3) 3)) 1/3)
(sqrt.f64 (*.f64 1/36 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))))
(cbrt.f64 (*.f64 -1/216 (pow.f64 (pow.f64 re 3) 3)))
(expm1.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 re 3))))
(exp.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)))
(exp.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2))) 2))
(exp.f64 (*.f64 (*.f64 3 (fma.f64 3 (log.f64 re) (log.f64 -1/6))) 1/3))
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 3) 1/3))
(log1p.f64 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 1)
(-.f64 (/.f64 (*.f64 re re) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (*.f64 1/36 (pow.f64 re 6)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 1)
(*.f64 1 (fma.f64 -1/6 (pow.f64 re 3) re))
(*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2)) (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(*.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6))) (/.f64 1 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 1 (/.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))) (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (-.f64 (*.f64 re re) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(/.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6))) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(/.f64 (neg.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))) (neg.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))) (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 (-.f64 (*.f64 1/36 (pow.f64 re 6)) (*.f64 re re)) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 1)
(pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 3)
(pow.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 2)
(pow.f64 (/.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))) (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))) -1)
(pow.f64 (/.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))) -1)
(sqrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2))
(log.f64 (exp.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/6 (pow.f64 re 3) re))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(exp.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(fma.f64 re 1 (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 re (*.f64 (*.f64 re re) -1/6) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3)) 1 re)
(fma.f64 1 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 1 (*.f64 -1/6 (pow.f64 re 3)) re)
(fma.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) re)
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (*.f64 re re) (*.f64 re -1/6) re)
(fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6) re)
(fma.f64 (*.f64 -1/6 re) (*.f64 re re) re)
(fma.f64 (*.f64 -1/6 (*.f64 re re)) re re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2) re)

simplify114.0ms (1.6%)

Algorithm
egg-herbie
Rules
1570×fma-def
1288×unswap-sqr
1098×fma-neg
474×log-prod
324×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02763761
16583521
220993411
373583411
Stop Event
node limit
Counts
133 → 135
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 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 -1/12 (*.f64 (pow.f64 re 3) (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 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 -1/12 (*.f64 (pow.f64 re 3) (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 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 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
re
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 0 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) (*.f64 (*.f64 im im) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 (*.f64 1/2 re) (*.f64 im im)) (*.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2) 1/4)))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)) 3) (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 (*.f64 im im) (*.f64 (pow.f64 re 3) -1/12)))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 im im)))
(+.f64 0 (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))) (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 re 3)))) 1)
(pow.f64 (*.f64 -1/6 (pow.f64 re 3)) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(pow.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) 2)
(pow.f64 (*.f64 -1/216 (pow.f64 (pow.f64 re 3) 3)) 1/3)
(sqrt.f64 (*.f64 1/36 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))))
(cbrt.f64 (*.f64 -1/216 (pow.f64 (pow.f64 re 3) 3)))
(expm1.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 re 3))))
(exp.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)))
(exp.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2))) 2))
(exp.f64 (*.f64 (*.f64 3 (fma.f64 3 (log.f64 re) (log.f64 -1/6))) 1/3))
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 3) 1/3))
(log1p.f64 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 1)
(-.f64 (/.f64 (*.f64 re re) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (*.f64 1/36 (pow.f64 re 6)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 1)
(*.f64 1 (fma.f64 -1/6 (pow.f64 re 3) re))
(*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2)) (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(*.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6))) (/.f64 1 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 1 (/.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))) (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))))
(/.f64 1 (/.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (-.f64 (*.f64 re re) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(/.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6))) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(/.f64 (neg.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))) (neg.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))) (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 (-.f64 (*.f64 1/36 (pow.f64 re 6)) (*.f64 re re)) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 1)
(pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 3)
(pow.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 2)
(pow.f64 (/.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))) (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))) -1)
(pow.f64 (/.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))) -1)
(sqrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2))
(log.f64 (exp.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/6 (pow.f64 re 3) re))))
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))) (exp.f64 re)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3))
(expm1.f64 (log1p.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(exp.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(fma.f64 re 1 (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 re (*.f64 (*.f64 re re) -1/6) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3)) 1 re)
(fma.f64 1 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 1 (*.f64 -1/6 (pow.f64 re 3)) re)
(fma.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) re)
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (*.f64 re re) (*.f64 re -1/6) re)
(fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6) re)
(fma.f64 (*.f64 -1/6 re) (*.f64 re re) re)
(fma.f64 (*.f64 -1/6 (*.f64 re re)) re re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2) re)
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))
(*.f64 im (*.f64 -1/12 (*.f64 (pow.f64 re 3) im)))
(*.f64 (pow.f64 re 3) (*.f64 (*.f64 -1/12 im) im))
(+.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))
(*.f64 im (*.f64 -1/12 (*.f64 (pow.f64 re 3) im)))
(*.f64 (pow.f64 re 3) (*.f64 (*.f64 -1/12 im) im))
(+.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.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) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
re
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 0 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) (*.f64 (*.f64 im im) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 (*.f64 1/2 re) (*.f64 im im)) (*.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 1)
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 3)
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(pow.f64 (pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)))) 2)
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2) 1/4)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) 1/4) (pow.f64 im 4)))
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) (*.f64 1/4 (pow.f64 im 4))))
(fabs.f64 (*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))) 3))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)) 3) (pow.f64 (*.f64 im im) 3)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re)) 3)))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(exp.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 1))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 3))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im))))) 1/3))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 -1/6 (pow.f64 re 3) re))))) 2))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 im im)))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 (*.f64 im im) (*.f64 (pow.f64 re 3) -1/12)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 0 (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))) (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(*.f64 (pow.f64 re 3) -1/6)
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 re 3)))) 1)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 -1/6 (pow.f64 re 3)) 1)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) 2)
(*.f64 (pow.f64 re 3) -1/6)
(pow.f64 (*.f64 -1/216 (pow.f64 (pow.f64 re 3) 3)) 1/3)
(*.f64 (pow.f64 re 3) -1/6)
(sqrt.f64 (*.f64 1/36 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))
(*.f64 (pow.f64 re 3) -1/6)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (pow.f64 re 3) -1/6)
(cbrt.f64 (*.f64 -1/216 (pow.f64 (pow.f64 re 3) 3)))
(*.f64 (pow.f64 re 3) -1/6)
(expm1.f64 (log1p.f64 (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 1) 1))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2))) 2))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (*.f64 3 (fma.f64 3 (log.f64 re) (log.f64 -1/6))) 1/3))
(*.f64 (pow.f64 re 3) -1/6)
(exp.f64 (*.f64 (*.f64 (fma.f64 3 (log.f64 re) (log.f64 -1/6)) 3) 1/3))
(*.f64 (pow.f64 re 3) -1/6)
(log1p.f64 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (pow.f64 re 3) -1/6)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 1)
(fma.f64 (pow.f64 re 3) -1/6 re)
(-.f64 (/.f64 (*.f64 re re) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))) (/.f64 (*.f64 1/36 (pow.f64 re 6)) (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 -1/36 (pow.f64 re 6))) (+.f64 re (*.f64 (pow.f64 re 3) 1/6)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 6) -1/36)) (fma.f64 (pow.f64 re 3) 1/6 re))
(*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 1)
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 1 (fma.f64 -1/6 (pow.f64 re 3) re))
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2)))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2)) (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2)))
(*.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (*.f64 re (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 re (fma.f64 (pow.f64 re 3) 1/6 re) (*.f64 1/36 (pow.f64 re 6))))
(*.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6))) (/.f64 1 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 -1/36 (pow.f64 re 6))) (+.f64 re (*.f64 (pow.f64 re 3) 1/6)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 6) -1/36)) (fma.f64 (pow.f64 re 3) 1/6 re))
(/.f64 1 (/.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))) (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))))
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (*.f64 re (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 re (fma.f64 (pow.f64 re 3) 1/6 re) (*.f64 1/36 (pow.f64 re 6))))
(/.f64 1 (/.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 -1/36 (pow.f64 re 6))) (+.f64 re (*.f64 (pow.f64 re 3) 1/6)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 6) -1/36)) (fma.f64 (pow.f64 re 3) 1/6 re))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))))
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (*.f64 re (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 re (fma.f64 (pow.f64 re 3) 1/6 re) (*.f64 1/36 (pow.f64 re 6))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (-.f64 (*.f64 re re) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (*.f64 re (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 re (fma.f64 (pow.f64 re 3) 1/6 re) (*.f64 1/36 (pow.f64 re 6))))
(/.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6))) (+.f64 re (*.f64 1/6 (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 -1/36 (pow.f64 re 6))) (+.f64 re (*.f64 (pow.f64 re 3) 1/6)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 6) -1/36)) (fma.f64 (pow.f64 re 3) 1/6 re))
(/.f64 (neg.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))) (neg.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3)))))
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (*.f64 re (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 re (fma.f64 (pow.f64 re 3) 1/6 re) (*.f64 1/36 (pow.f64 re 6))))
(/.f64 (neg.f64 (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))) (neg.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3)))))
(/.f64 (+.f64 (*.f64 re re) (*.f64 -1/36 (pow.f64 re 6))) (+.f64 re (*.f64 (pow.f64 re 3) 1/6)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 6) -1/36)) (fma.f64 (pow.f64 re 3) 1/6 re))
(/.f64 (-.f64 (*.f64 1/36 (pow.f64 re 6)) (*.f64 re re)) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(/.f64 (+.f64 (*.f64 re re) (*.f64 -1/36 (pow.f64 re 6))) (+.f64 re (*.f64 (pow.f64 re 3) 1/6)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 6) -1/36)) (fma.f64 (pow.f64 re 3) 1/6 re))
(pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 1)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 3)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3) 1/3)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 2)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (/.f64 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 (*.f64 re -1/6) (pow.f64 re 3))) (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3))) -1)
(*.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 re re (*.f64 1/36 (pow.f64 re 6))) (*.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 1/36 (pow.f64 re 6) (*.f64 re (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 -1/216 (pow.f64 (pow.f64 re 3) 3) (pow.f64 re 3)) (fma.f64 re (fma.f64 (pow.f64 re 3) 1/6 re) (*.f64 1/36 (pow.f64 re 6))))
(pow.f64 (/.f64 (+.f64 re (*.f64 1/6 (pow.f64 re 3))) (-.f64 (*.f64 re re) (*.f64 1/36 (pow.f64 re 6)))) -1)
(/.f64 (+.f64 (*.f64 re re) (*.f64 -1/36 (pow.f64 re 6))) (+.f64 re (*.f64 (pow.f64 re 3) 1/6)))
(/.f64 (fma.f64 re re (*.f64 (pow.f64 re 6) -1/36)) (fma.f64 (pow.f64 re 3) 1/6 re))
(sqrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 2))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (exp.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 -1/6 (pow.f64 re 3) re))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (*.f64 (exp.f64 re) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (pow.f64 (exp.f64 -1/6) (pow.f64 re 3))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3))))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (*.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)) (+.f64 1 (expm1.f64 re))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))) (exp.f64 re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 -1/6 (pow.f64 re 3)))) (+.f64 1 (expm1.f64 re))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3))
(fma.f64 (pow.f64 re 3) -1/6 re)
(expm1.f64 (log1p.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 1))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 1) 1))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 3))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 1/3))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 2))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log1p.f64 (expm1.f64 (fma.f64 -1/6 (pow.f64 re 3) re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 re 1 (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 re (*.f64 (*.f64 re re) -1/6) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3)) 1 re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 1 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 1 (*.f64 -1/6 (pow.f64 re 3)) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 re re) (*.f64 re -1/6) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) (*.f64 (sqrt.f64 -1/6) (pow.f64 re 3/2)) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 -1/6 re) (*.f64 re re) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 -1/6 (*.f64 re re)) re re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2) re)
(fma.f64 (pow.f64 re 3) -1/6 re)

eval93.0ms (1.3%)

Compiler

Compiled 5077 to 3065 computations (39.6% saved)

prune75.0ms (1.1%)

Pruning

25 alts after pruning (17 fresh and 8 done)

PrunedKeptTotal
New2717278
Fresh21012
Picked145
Done044
Total27425299
Accuracy
100.0%
Counts
299 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.7%
(fma.f64 re -512 re)
11.8%
(pow.f64 re -512)
5.0%
(/.f64 re (+.f64 re (-.f64 re re)))
2.7%
(/.f64 re -512)
4.9%
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
43.1%
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 (*.f64 -1/12 im) im)))
55.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (fma.f64 (*.f64 re re) (*.f64 re -1/6) re)) (*.f64 im im)))
79.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
4.2%
(+.f64 (sin.f64 re) -2)
50.0%
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
53.0%
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
47.5%
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
35.9%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.8%
(+.f64 re re)
2.9%
(+.f64 re 64)
2.9%
(+.f64 re 2)
3.0%
(+.f64 re -512)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.5%
(sin.f64 re)
37.3%
(log1p.f64 (expm1.f64 re))
29.4%
(log.f64 (exp.f64 (sin.f64 re)))
14.1%
(fabs.f64 re)
4.0%
(cbrt.f64 re)
26.6%
re
2.7%
(fma.f64 re -512 re)
11.8%
(pow.f64 re -512)
5.0%
(/.f64 re (+.f64 re (-.f64 re re)))
2.7%
(/.f64 re -512)
4.9%
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
43.1%
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 (*.f64 -1/12 im) im)))
55.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (fma.f64 (*.f64 re re) (*.f64 re -1/6) re)) (*.f64 im im)))
79.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
4.2%
(+.f64 (sin.f64 re) -2)
50.0%
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
53.0%
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
47.5%
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
35.9%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.8%
(+.f64 re re)
2.9%
(+.f64 re 64)
2.9%
(+.f64 re 2)
3.0%
(+.f64 re -512)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
52.5%
(sin.f64 re)
37.3%
(log1p.f64 (expm1.f64 re))
29.4%
(log.f64 (exp.f64 (sin.f64 re)))
14.1%
(fabs.f64 re)
4.0%
(cbrt.f64 re)
26.6%
re
Compiler

Compiled 684 to 496 computations (27.5% saved)

localize495.0ms (7%)

Localize:

Found 4 expressions with local error:

NewAccuracyProgram
99.6%
(log1p.f64 (expm1.f64 re))
100.0%
(fma.f64 (*.f64 re re) (*.f64 re -1/6) re)
99.7%
(*.f64 re -1/6)
95.2%
(*.f64 (*.f64 1/2 (fma.f64 (*.f64 re re) (*.f64 re -1/6) re)) (*.f64 im im))
Compiler

Compiled 102 to 42 computations (58.8% saved)

series4.0ms (0.1%)

Counts
4 → 60
Calls

15 calls:

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

rewrite83.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1392×log-prod
896×pow-prod-down
700×pow-prod-up
618×pow-exp
514×expm1-udef
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01668
130064
2346256
Stop Event
node limit
Counts
4 → 107
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (fma.f64 (*.f64 re re) (*.f64 re -1/6) re)) (*.f64 im im))
(*.f64 re -1/6)
(fma.f64 (*.f64 re re) (*.f64 re -1/6) re)
(log1p.f64 (expm1.f64 re))
Outputs
(+.f64 0 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(+.f64 0 (*.f64 re -1/6))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 re) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re -1/6))) 1)
(pow.f64 (*.f64 re -1/6) 1)
(pow.f64 (cbrt.f64 (*.f64 re -1/6)) 3)
(pow.f64 (*.f64 (*.f64 re re) 1/36) 1/2)
(pow.f64 (pow.f64 (*.f64 re -1/6) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re -1/6)) 2)
(sqrt.f64 (*.f64 (*.f64 re re) 1/36))
(log.f64 (pow.f64 (exp.f64 re) -1/6))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re -1/6))))
(cbrt.f64 (pow.f64 (*.f64 re -1/6) 3))
(expm1.f64 (log1p.f64 (*.f64 re -1/6)))
(exp.f64 (log.f64 (*.f64 re -1/6)))
(exp.f64 (*.f64 (log.f64 (*.f64 re -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re -1/6))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re -1/6) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re -1/6))) 2))
(log1p.f64 (expm1.f64 (*.f64 re -1/6)))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (*.f64 (pow.f64 re 3) -1/6) re)
(+.f64 0 (fma.f64 (pow.f64 re 3) -1/6 re))
(+.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/6) 1) re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1)
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(*.f64 1 (fma.f64 (pow.f64 re 3) -1/6 re))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 2) (-.f64 (*.f64 re re) (*.f64 (*.f64 (pow.f64 re 3) -1/6) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 2) (*.f64 re re)) (fma.f64 (pow.f64 re 3) -1/6 (neg.f64 re)))
(pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(log.f64 (*.f64 (exp.f64 re) (exp.f64 (*.f64 (pow.f64 re 3) -1/6))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(+.f64 0 re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (exp.f64 re)))) (log.f64 (cbrt.f64 (exp.f64 re))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 re))) (log.f64 (sqrt.f64 (exp.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 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re))
(*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
(*.f64 (sqrt.f64 (*.f64 (cbrt.f64 re) re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2)))
(pow.f64 re 1)
(pow.f64 (*.f64 re re) 1/2)
(pow.f64 (pow.f64 (cbrt.f64 re) 2) 3/2)
(pow.f64 (cbrt.f64 re) 3)
(pow.f64 (pow.f64 re 6) 1/6)
(pow.f64 (pow.f64 re 3) 1/3)
(pow.f64 (sqrt.f64 re) 2)
(sqrt.f64 (*.f64 re re))
(fabs.f64 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 2 (log.f64 re)) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 2))

simplify87.0ms (1.2%)

Algorithm
egg-herbie
Rules
1418×fma-neg
1268×log-prod
466×prod-exp
442×log-pow
356×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02763003
15802823
222522687
364172687
Stop Event
node limit
Counts
167 → 142
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 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 -1/12 (*.f64 (pow.f64 re 3) (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 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 -1/12 (*.f64 (pow.f64 re 3) (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 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 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
(*.f64 -1/6 re)
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
re
re
re
re
re
re
re
re
re
re
re
re
(+.f64 0 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(+.f64 0 (*.f64 re -1/6))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 re) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re -1/6))) 1)
(pow.f64 (*.f64 re -1/6) 1)
(pow.f64 (cbrt.f64 (*.f64 re -1/6)) 3)
(pow.f64 (*.f64 (*.f64 re re) 1/36) 1/2)
(pow.f64 (pow.f64 (*.f64 re -1/6) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re -1/6)) 2)
(sqrt.f64 (*.f64 (*.f64 re re) 1/36))
(log.f64 (pow.f64 (exp.f64 re) -1/6))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re -1/6))))
(cbrt.f64 (pow.f64 (*.f64 re -1/6) 3))
(expm1.f64 (log1p.f64 (*.f64 re -1/6)))
(exp.f64 (log.f64 (*.f64 re -1/6)))
(exp.f64 (*.f64 (log.f64 (*.f64 re -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re -1/6))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re -1/6) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re -1/6))) 2))
(log1p.f64 (expm1.f64 (*.f64 re -1/6)))
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (*.f64 (pow.f64 re 3) -1/6) re)
(+.f64 0 (fma.f64 (pow.f64 re 3) -1/6 re))
(+.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/6) 1) re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1)
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(*.f64 1 (fma.f64 (pow.f64 re 3) -1/6 re))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 2) (-.f64 (*.f64 re re) (*.f64 (*.f64 (pow.f64 re 3) -1/6) re))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 2) (*.f64 re re)) (fma.f64 (pow.f64 re 3) -1/6 (neg.f64 re)))
(pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(log.f64 (*.f64 (exp.f64 re) (exp.f64 (*.f64 (pow.f64 re 3) -1/6))))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(+.f64 0 re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (exp.f64 re)))) (log.f64 (cbrt.f64 (exp.f64 re))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 re))) (log.f64 (sqrt.f64 (exp.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 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re))
(*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
(*.f64 (sqrt.f64 (*.f64 (cbrt.f64 re) re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2)))
(pow.f64 re 1)
(pow.f64 (*.f64 re re) 1/2)
(pow.f64 (pow.f64 (cbrt.f64 re) 2) 3/2)
(pow.f64 (cbrt.f64 re) 3)
(pow.f64 (pow.f64 re 6) 1/6)
(pow.f64 (pow.f64 re 3) 1/3)
(pow.f64 (sqrt.f64 re) 2)
(sqrt.f64 (*.f64 re re))
(fabs.f64 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 2 (log.f64 re)) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 2))
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(*.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)))
(*.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(*.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)))
(*.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
(*.f64 -1/6 re)
(*.f64 re -1/6)
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 (pow.f64 re 3) -1/6 re)
re
re
re
re
re
re
re
re
re
re
re
re
(+.f64 0 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(pow.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 3)
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 4) 1/2)
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6) 1/3)
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 2)
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 4))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 1))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im))))) 3))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re)))) 6)) 1/3))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (fma.f64 (pow.f64 re 3) -1/6 re))))) 2))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (fma.f64 (pow.f64 re 3) -1/6 re))))
(+.f64 0 (*.f64 re -1/6))
(*.f64 re -1/6)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6)) (cbrt.f64 (pow.f64 (exp.f64 re) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) -1/6))))
(*.f64 re -1/6)
(-.f64 (exp.f64 (log1p.f64 (*.f64 re -1/6))) 1)
(*.f64 re -1/6)
(pow.f64 (*.f64 re -1/6) 1)
(*.f64 re -1/6)
(pow.f64 (cbrt.f64 (*.f64 re -1/6)) 3)
(*.f64 re -1/6)
(pow.f64 (*.f64 (*.f64 re re) 1/36) 1/2)
(sqrt.f64 (*.f64 re (*.f64 re 1/36)))
(fabs.f64 (*.f64 re -1/6))
(pow.f64 (pow.f64 (*.f64 re -1/6) 3) 1/3)
(*.f64 re -1/6)
(pow.f64 (sqrt.f64 (*.f64 re -1/6)) 2)
(*.f64 re -1/6)
(sqrt.f64 (*.f64 (*.f64 re re) 1/36))
(sqrt.f64 (*.f64 re (*.f64 re 1/36)))
(fabs.f64 (*.f64 re -1/6))
(log.f64 (pow.f64 (exp.f64 re) -1/6))
(*.f64 re -1/6)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re -1/6))))
(*.f64 re -1/6)
(cbrt.f64 (pow.f64 (*.f64 re -1/6) 3))
(*.f64 re -1/6)
(expm1.f64 (log1p.f64 (*.f64 re -1/6)))
(*.f64 re -1/6)
(exp.f64 (log.f64 (*.f64 re -1/6)))
(*.f64 re -1/6)
(exp.f64 (*.f64 (log.f64 (*.f64 re -1/6)) 1))
(*.f64 re -1/6)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re -1/6)) 1) 1))
(*.f64 re -1/6)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re -1/6))) 3))
(*.f64 re -1/6)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 re -1/6) 3)) 1/3))
(*.f64 re -1/6)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re -1/6))) 2))
(*.f64 re -1/6)
(log1p.f64 (expm1.f64 (*.f64 re -1/6)))
(*.f64 re -1/6)
(+.f64 re (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 (*.f64 (pow.f64 re 3) -1/6) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 0 (fma.f64 (pow.f64 re 3) -1/6 re))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 (*.f64 (*.f64 (pow.f64 re 3) -1/6) 1) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1)
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 1 (fma.f64 (pow.f64 re 3) -1/6 re))
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2))
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(/.f64 (+.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 3) (pow.f64 re 3)) (+.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 2) (-.f64 (*.f64 re re) (*.f64 (*.f64 (pow.f64 re 3) -1/6) re))))
(/.f64 (+.f64 (pow.f64 re 3) (*.f64 (pow.f64 (pow.f64 re 3) 3) -1/216)) (+.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 2) (*.f64 re (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 re 3) 3) -1/216 (pow.f64 re 3)) (fma.f64 re (+.f64 re (*.f64 (pow.f64 re 3) 1/6)) (*.f64 1/36 (pow.f64 re 6))))
(/.f64 (-.f64 (pow.f64 (*.f64 (pow.f64 re 3) -1/6) 2) (*.f64 re re)) (fma.f64 (pow.f64 re 3) -1/6 (neg.f64 re)))
(/.f64 (-.f64 (*.f64 1/36 (pow.f64 re 6)) (*.f64 re re)) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re))
(pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 3)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) 1/2)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3) 1/3)
(fma.f64 (pow.f64 re 3) -1/6 re)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2)
(fma.f64 (pow.f64 re 3) -1/6 re)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log.f64 (*.f64 (exp.f64 re) (exp.f64 (*.f64 (pow.f64 re 3) -1/6))))
(fma.f64 (pow.f64 re 3) -1/6 re)
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3))
(fma.f64 (pow.f64 re 3) -1/6 re)
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1) 1))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1/3))
(fma.f64 (pow.f64 re 3) -1/6 re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2))
(fma.f64 (pow.f64 re 3) -1/6 re)
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 0 re)
re
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 re)) (cbrt.f64 (exp.f64 re)))) (log.f64 (cbrt.f64 (exp.f64 re))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 re)))) (log.f64 (cbrt.f64 (exp.f64 re))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 re))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 re))) (log.f64 (sqrt.f64 (exp.f64 re))))
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 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re))
re
(*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2))
re
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
re
(*.f64 (sqrt.f64 (*.f64 (cbrt.f64 re) re)) (sqrt.f64 (pow.f64 (cbrt.f64 re) 2)))
re
(pow.f64 re 1)
re
(pow.f64 (*.f64 re re) 1/2)
re
(pow.f64 (pow.f64 (cbrt.f64 re) 2) 3/2)
(pow.f64 (cbrt.f64 re) 3)
re
(pow.f64 (pow.f64 re 6) 1/6)
(pow.f64 (pow.f64 re 3) 1/3)
re
(pow.f64 (sqrt.f64 re) 2)
re
(sqrt.f64 (*.f64 re re))
re
(fabs.f64 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 2 (log.f64 re)) 1/2))
re
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/2))
re
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/2))
re
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 3))
re
(exp.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/3))
re
(exp.f64 (*.f64 (log.f64 (sqrt.f64 re)) 2))
re

eval44.0ms (0.6%)

Compiler

Compiled 2360 to 1391 computations (41.1% saved)

prune43.0ms (0.6%)

Pruning

26 alts after pruning (13 fresh and 13 done)

PrunedKeptTotal
New1411142
Fresh01212
Picked055
Done088
Total14126167
Accuracy
100.0%
Counts
167 → 26
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.7%
(fma.f64 re -512 re)
11.8%
(pow.f64 re -512)
5.0%
(/.f64 re (+.f64 re (-.f64 re re)))
2.7%
(/.f64 re -512)
4.9%
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
43.1%
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 (*.f64 -1/12 im) im)))
55.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (fma.f64 (*.f64 re re) (*.f64 re -1/6) re)) (*.f64 im im)))
79.2%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
4.2%
(+.f64 (sin.f64 re) -2)
50.0%
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
53.0%
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
47.5%
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
35.9%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.8%
(+.f64 re re)
2.9%
(+.f64 re 64)
2.9%
(+.f64 re 2)
3.0%
(+.f64 re -512)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
59.1%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
14.4%
(sqrt.f64 (*.f64 re re))
52.5%
(sin.f64 re)
37.3%
(log1p.f64 (expm1.f64 re))
29.4%
(log.f64 (exp.f64 (sin.f64 re)))
14.1%
(fabs.f64 re)
4.0%
(cbrt.f64 re)
26.6%
re
Compiler

Compiled 441 to 272 computations (38.3% saved)

regimes94.0ms (1.3%)

Counts
33 → 1
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(sqrt.f64 (*.f64 re re))
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -2)
(fma.f64 re -512 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 (*.f64 -1/12 im) im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (fma.f64 (*.f64 re re) (*.f64 re -1/6) re)) (*.f64 im im)))
(log.f64 (exp.f64 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (log.f64 (exp.f64 (sin.f64 re)))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

18.0ms
(sin.f64 re)
18.0ms
(*.f64 1/2 (sin.f64 re))
18.0ms
re
17.0ms
im
10.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 267 to 149 computations (44.2% saved)

regimes344.0ms (4.9%)

Counts
30 → 3
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(sqrt.f64 (*.f64 re re))
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -2)
(fma.f64 re -512 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 (*.f64 -1/12 im) im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (fma.f64 (*.f64 re re) (*.f64 re -1/6) re)) (*.f64 im im)))
(log.f64 (exp.f64 (sin.f64 re)))
Outputs
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Calls

3 calls:

161.0ms
im
131.0ms
re
46.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
89.0%3re
93.5%3im
89.0%3(sin.f64 re)
Compiler

Compiled 202 to 113 computations (44.1% saved)

regimes47.0ms (0.7%)

Counts
25 → 3
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(sqrt.f64 (*.f64 re re))
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -2)
(fma.f64 re -512 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(sin.f64 re)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Calls

1 calls:

41.0ms
im
Results
AccuracySegmentsBranch
93.1%3im
Compiler

Compiled 135 to 79 computations (41.5% saved)

regimes174.0ms (2.5%)

Counts
24 → 4
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(sqrt.f64 (*.f64 re re))
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -2)
(fma.f64 re -512 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Outputs
(sin.f64 re)
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(log1p.f64 (expm1.f64 re))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Calls

3 calls:

69.0ms
im
54.0ms
(sin.f64 re)
42.0ms
re
Results
AccuracySegmentsBranch
64.3%3re
64.9%3(sin.f64 re)
84.8%4im
Compiler

Compiled 132 to 77 computations (41.7% saved)

regimes64.0ms (0.9%)

Counts
21 → 3
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(sqrt.f64 (*.f64 re re))
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -2)
(fma.f64 re -512 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
Outputs
(sin.f64 re)
(+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Calls

1 calls:

52.0ms
im
Results
AccuracySegmentsBranch
82.9%3im
Compiler

Compiled 111 to 65 computations (41.4% saved)

regimes52.0ms (0.7%)

Counts
20 → 3
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(sqrt.f64 (*.f64 re re))
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -2)
(fma.f64 re -512 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Outputs
(sin.f64 re)
(pow.f64 re -512)
(+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Calls

1 calls:

48.0ms
im
Results
AccuracySegmentsBranch
82.6%3im
Compiler

Compiled 96 to 56 computations (41.7% saved)

regimes198.0ms (2.8%)

Counts
19 → 3
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(sqrt.f64 (*.f64 re re))
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -2)
(fma.f64 re -512 re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(-.f64 -2 (*.f64 -2 (cos.f64 (*.f64 -2 re))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
Outputs
(sin.f64 re)
(pow.f64 re -512)
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
Calls

1 calls:

60.0ms
im
Results
AccuracySegmentsBranch
75.4%3im
Compiler

Compiled 86 to 52 computations (39.5% saved)

regimes16.0ms (0.2%)

Counts
11 → 2
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
Outputs
(sin.f64 re)
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
Calls

1 calls:

14.0ms
im
Results
AccuracySegmentsBranch
73.2%2im
Compiler

Compiled 43 to 24 computations (44.2% saved)

regimes16.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
re
(+.f64 re -512)
(+.f64 re 2)
(+.f64 re 64)
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(cbrt.f64 re)
(fabs.f64 re)
Outputs
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
Calls

2 calls:

7.0ms
re
7.0ms
im
Results
AccuracySegmentsBranch
47.5%1re
47.5%1im
Compiler

Compiled 44 to 25 computations (43.2% saved)

regimes12.0ms (0.2%)

Accuracy

Total -16.3b remaining (-34.7%)

Threshold costs -16.3b (-34.7%)

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

2 calls:

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

Compiled 31 to 18 computations (41.9% saved)

bsearch90.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
62.0ms
5.783947608525108e+152
1.2971571204616587e+154
27.0ms
1.9982076110385836
6.696287742951179
Results
27.0ms33×body1024infinite
22.0ms64×body256infinite
12.0ms22×body1024valid
10.0ms47×body256valid
9.0ms15×body512infinite
3.0ms11×body512valid
Compiler

Compiled 336 to 243 computations (27.7% saved)

bsearch136.0ms (1.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
78.0ms
5.783947608525108e+152
1.2971571204616587e+154
57.0ms
1.9982076110385836
6.696287742951179
Results
37.0ms33×body1024infinite
31.0ms70×body256infinite
23.0ms21×body1024valid
20.0ms44×body256valid
11.0ms15×body512valid
6.0msbody512infinite
Compiler

Compiled 291 to 218 computations (25.1% saved)

bsearch243.0ms (3.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
78.0ms
5.783947608525108e+152
1.2971571204616587e+154
140.0ms
7.005805711776481e+55
2.954648025883751e+58
25.0ms
41128957.94632773
48034812.45406705
Results
130.0ms157×body256infinite
77.0ms78×body1024infinite
25.0ms37×body512infinite
Compiler

Compiled 390 to 291 computations (25.4% saved)

bsearch158.0ms (2.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
132.0ms
1.2971571204616587e+154
5.392775952376646e+155
25.0ms
41128957.94632773
48034812.45406705
Results
42.0ms44×body1024infinite
41.0ms68×body256infinite
22.0ms32×body512infinite
Compiler

Compiled 282 to 203 computations (28% saved)

bsearch53.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
9.518436072747861e+130
6.5061428712134e+131
32.0ms
128.68430374969674
24415.882763235124
Results
15.0ms36×body1024infinite
15.0ms87×body256infinite
7.0ms46×body256valid
6.0ms24×body512infinite
4.0ms10×body1024valid
1.0msbody512valid
Compiler

Compiled 210 to 162 computations (22.9% saved)

bsearch41.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
1.457568888328823e+74
1.9186842136035414e+74
29.0ms
128.68430374969674
24415.882763235124
Results
16.0ms38×body1024infinite
9.0ms60×body256infinite
6.0ms37×body256valid
6.0ms20×body512infinite
2.0msbody1024valid
0.0msbody512valid
Compiler

Compiled 150 to 117 computations (22% saved)

bsearch33.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
32.0ms
4.682094529500276e+51
7.005805711776481e+55
Results
15.0ms75×body256infinite
12.0ms34×body1024infinite
5.0ms19×body512infinite
Compiler

Compiled 155 to 111 computations (28.4% saved)

simplify41.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
069616
188616
290616
391616
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 2) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 2) (sin.f64 re) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 42000000) (sin.f64 re) (if (<=.f64 im 85000000000000000189415962892849920791838084286723915776) (+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im))) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (log1p.f64 (expm1.f64 re)) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))))))
(if (<=.f64 im 42000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im))) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 880) (sin.f64 re) (if (<=.f64 im 650000000000000001919620050813725608852103772517337953805607801329574282172298444379822261390694143023094715541272616932568748523520) (pow.f64 re -512) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 1050) (sin.f64 re) (if (<=.f64 im 159999999999999997285391487193812127684945283850954501149415267193067667456) (pow.f64 re -512) (+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))))
(if (<=.f64 im 5100000000000000098349637817735889970335419081949184) (sin.f64 re) (+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
re
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 2) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 2) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 2) (sin.f64 re) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 2) (sin.f64 re) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 42000000) (sin.f64 re) (if (<=.f64 im 85000000000000000189415962892849920791838084286723915776) (+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im))) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (log1p.f64 (expm1.f64 re)) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))))))
(if (<=.f64 im 42000000) (sin.f64 re) (if (<=.f64 im 85000000000000000189415962892849920791838084286723915776) (+.f64 re (*.f64 (*.f64 im im) (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))) (if (<=.f64 im 12800000000000000592013841395737532672156962866569304126961757081762886880483795318193077744922038416894676793662680395637682904258104549969248257166016512) (log1p.f64 (expm1.f64 re)) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))))))
(if (<=.f64 im 42000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 re (*.f64 (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 im im))) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 42000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 re (*.f64 (*.f64 im im) (*.f64 1/2 (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 880) (sin.f64 re) (if (<=.f64 im 650000000000000001919620050813725608852103772517337953805607801329574282172298444379822261390694143023094715541272616932568748523520) (pow.f64 re -512) (+.f64 re (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 1050) (sin.f64 re) (if (<=.f64 im 159999999999999997285391487193812127684945283850954501149415267193067667456) (pow.f64 re -512) (+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))))
(if (<=.f64 im 1050) (sin.f64 re) (if (<=.f64 im 159999999999999997285391487193812127684945283850954501149415267193067667456) (pow.f64 re -512) (+.f64 re (*.f64 (*.f64 im im) (*.f64 1/2 re)))))
(if (<=.f64 im 5100000000000000098349637817735889970335419081949184) (sin.f64 re) (+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(if (<=.f64 im 5100000000000000098349637817735889970335419081949184) (sin.f64 re) (+.f64 re (*.f64 (*.f64 im im) (*.f64 1/2 re))))
(+.f64 re (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 im im) (*.f64 1/2 re)))
re
Compiler

Compiled 247 to 159 computations (35.6% saved)

soundness453.0ms (6.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
031179
194179
2254175
3526167
41151165
53093165
65261165
77961165
01431438
13851438
218051438
020100
1435100
27143100
020100
1435100
27143100
Stop Event
unsound
unsound
unsound
node limit
Compiler

Compiled 239 to 144 computations (39.7% saved)

end1.0ms (0%)

preprocess139.0ms (2%)

Remove

(abs im)

Compiler

Compiled 512 to 280 computations (45.3% saved)

Profiling

Loading profile data...