math.sin on complex, real part

Time bar (total: 6.4s)

analyze0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

sample2.4s (37%)

Results
646.0ms1022×body1024valid
519.0ms2625×body256infinite
475.0ms999×body1024infinite
434.0ms2606×body256valid
145.0ms496×body512infinite
138.0ms506×body512valid
2.0msbody2048valid
Bogosity

preprocess188.0ms (2.9%)

Algorithm
egg-herbie
Rules
2266×fma-def
1538×div-sub
1052×times-frac
902×distribute-lft-neg-in
784×distribute-rgt-neg-in
Problems
256×No Errors
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036316
1111308
2394308
31005298
42232294
55131294
67600294
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))))
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
(neg.f64 (*.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 (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 (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 (+.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 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.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 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.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 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.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)

(negabs re)

Compiler

Compiled 55 to 36 computations (34.5% saved)

eval1.0ms (0%)

Compiler

Compiled 24 to 15 computations (37.5% saved)

prune1.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.2%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
100.0%
(+.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)))
100.0%
(sin.f64 re)
Compiler

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
3 → 40
Calls

12 calls:

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

rewrite110.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
200×associate-*r*
128×associate-*l*
92×add-exp-log
92×add-log-exp
92×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01677
120277
2326677
Stop Event
unsound
Counts
3 → 46
Calls
Call 1
Inputs
(sin.f64 re)
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Outputs
(-.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) 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) 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 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
-2
0
1/4
1/2
3/2
2

simplify27.0ms (0.4%)

Algorithm
egg-herbie
Rules
214×fma-def
176×associate-*r*
138×associate-*l*
112×*-commutative
104×+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01572208
14072208
218482208
Stop Event
unsound
Counts
86 → 78
Calls
Call 1
Inputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))))
(*.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/240 (*.f64 (pow.f64 re 5) (+.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/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
2
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.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) 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) 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 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
-2
0
1/4
1/2
3/2
2
Outputs
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (fma.f64 -1/5040 (pow.f64 re 7) (*.f64 1/120 (pow.f64 re 5)))))
(*.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))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.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)))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (+.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/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.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)))) (fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (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 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))))
(+.f64 (sin.f64 re) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (sin.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (sin.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))))
(+.f64 (sin.f64 re) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
2
(sin.f64 re)
(+.f64 2 (pow.f64 im 2))
(+.f64 2 (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2)))
(+.f64 2 (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2)))
(+.f64 2 (+.f64 (*.f64 1/360 (pow.f64 im 6)) (+.f64 (*.f64 1/12 (pow.f64 im 4)) (pow.f64 im 2))))
(+.f64 2 (fma.f64 1/360 (pow.f64 im 6) (fma.f64 1/12 (pow.f64 im 4) (pow.f64 im 2))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(-.f64 -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 2 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) 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) 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 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
-2
(sin.f64 re)
0
(sin.f64 re)
1/4
(sin.f64 re)
1/2
(sin.f64 re)
3/2
2
(sin.f64 re)

eval24.0ms (0.4%)

Compiler

Compiled 1096 to 565 computations (48.4% saved)

prune47.0ms (0.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New72678
Fresh000
Picked011
Done000
Total72779
Accuracy
100.0%
Counts
79 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
14.2%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
76.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
10.7%
(+.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)))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
50.3%
(sin.f64 re)
14.2%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
76.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
10.7%
(+.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)))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
50.3%
(sin.f64 re)
Compiler

Compiled 250 to 188 computations (24.8% saved)

localize191.0ms (3%)

Localize:

Found 10 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
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%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
100.0%
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
100.0%
(sin.f64 re)
95.4%
(*.f64 (pow.f64 im 2) (sin.f64 re))
Compiler

Compiled 91 to 40 computations (56% saved)

series11.0ms (0.2%)

Counts
5 → 51
Calls

27 calls:

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

rewrite31.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
350×associate-*r*
214×associate-*l*
158×log1p-expm1-u
158×expm1-log1p-u
155×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
024132
1346132
25830132
Stop Event
unsound
Counts
5 → 74
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (sin.f64 re))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (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
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -4)
(/.f64 re -4)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -4)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -4 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(log1p.f64 (expm1.f64 re))
(fma.f64 -4 re re)
(fma.f64 re -4 re)

simplify68.0ms (1.1%)

Algorithm
egg-herbie
Rules
1578×fma-def
1290×distribute-lft-out
786×associate-*r*
706×associate-*l*
684×distribute-rgt-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01492444
13642393
29592292
344012228
Stop Event
node limit
Counts
125 → 119
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 im 2) (pow.f64 re 7))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 (pow.f64 im 2) re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2)))) (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040)))))
(sin.f64 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(/.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/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.f64 re 2)))))
(+.f64 1/12 (+.f64 (*.f64 1/378 (pow.f64 re 4)) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.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/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 (pow.f64 im 2) re)))
(+.f64 re (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(+.f64 re (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -4)
(/.f64 re -4)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -4)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -4 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(log1p.f64 (expm1.f64 re))
(fma.f64 -4 re re)
(fma.f64 re -4 re)
Outputs
(*.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (*.f64 (pow.f64 im 2) re))
(fma.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (*.f64 (pow.f64 im 2) re))
(fma.f64 (pow.f64 im 2) re (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 (pow.f64 im 2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 (pow.f64 im 2) re)))
(fma.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5)) (*.f64 (pow.f64 im 2) re)))
(fma.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 (pow.f64 im 2) re (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5)))))
(fma.f64 (pow.f64 im 2) (*.f64 1/120 (pow.f64 re 5)) (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (pow.f64 im 2) (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 im 2) (pow.f64 re 7))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 (pow.f64 im 2) re))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (pow.f64 im 2) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5)) (*.f64 (pow.f64 im 2) re))))
(fma.f64 -1/6 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (pow.f64 im 2) (pow.f64 re 7)) (fma.f64 (pow.f64 im 2) re (*.f64 1/120 (*.f64 (pow.f64 im 2) (pow.f64 re 5))))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) re)
(*.f64 re (*.f64 (pow.f64 im 2) 1/2))
(*.f64 (pow.f64 im 2) (*.f64 re 1/2))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) re))
(fma.f64 (*.f64 (pow.f64 im 2) re) 1/2 (*.f64 (pow.f64 im 2) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) re)))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) -1/12 (fma.f64 (*.f64 (pow.f64 im 2) re) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 5) 1/240))))
(fma.f64 (pow.f64 im 2) (*.f64 re 1/2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 re 1/2) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 7))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5))) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(fma.f64 -1/12 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) (fma.f64 -1/10080 (*.f64 (pow.f64 im 2) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (pow.f64 im 2) (pow.f64 re 5)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) re))))
(fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 3)) -1/12 (fma.f64 (*.f64 (pow.f64 im 2) (pow.f64 re 7)) -1/10080 (fma.f64 (*.f64 (pow.f64 im 2) re) 1/2 (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 5) 1/240)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 5) 1/240) (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12)) (+.f64 (*.f64 (pow.f64 re 5) 1/240) (*.f64 (pow.f64 re 7) -1/10080))))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 re (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(fma.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (*.f64 (pow.f64 re 3) (fma.f64 -1/12 (pow.f64 im 2) -1/6)))
(fma.f64 re (fma.f64 (pow.f64 im 2) 1/2 1) (*.f64 (pow.f64 re 3) (fma.f64 (pow.f64 im 2) -1/12 -1/6)))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))))))
(fma.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (pow.f64 im 2) -1/6) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (pow.f64 im 2) 1/240)))))
(fma.f64 re (fma.f64 (pow.f64 im 2) 1/2 1) (fma.f64 (pow.f64 re 3) (fma.f64 (pow.f64 im 2) -1/12 -1/6) (*.f64 (pow.f64 re 5) (fma.f64 (pow.f64 im 2) 1/240 1/120))))
(+.f64 (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2)))) (*.f64 (pow.f64 re 7) (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040)))))
(fma.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)) (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (pow.f64 im 2) -1/6) (fma.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 (pow.f64 im 2) 1/240)) (*.f64 (pow.f64 re 7) (fma.f64 -1/10080 (pow.f64 im 2) -1/5040)))))
(fma.f64 re (fma.f64 (pow.f64 im 2) 1/2 1) (fma.f64 (pow.f64 re 3) (fma.f64 (pow.f64 im 2) -1/12 -1/6) (fma.f64 (pow.f64 re 5) (fma.f64 (pow.f64 im 2) 1/240 1/120) (*.f64 (pow.f64 re 7) (fma.f64 (pow.f64 im 2) -1/10080 -1/5040)))))
(fma.f64 re (fma.f64 (pow.f64 im 2) 1/2 1) (fma.f64 (pow.f64 re 5) (fma.f64 (pow.f64 im 2) 1/240 1/120) (fma.f64 (pow.f64 re 3) (fma.f64 (pow.f64 im 2) -1/12 -1/6) (*.f64 (pow.f64 re 7) (fma.f64 (pow.f64 im 2) -1/10080 -1/5040)))))
(sin.f64 re)
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (sin.f64 re))
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (*.f64 (pow.f64 im 2) 1/2) (sin.f64 re))
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
(/.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re -2))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
(fma.f64 1/4 (pow.f64 re -2) 1/12)
(+.f64 1/12 (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.f64 re 2)))))
(+.f64 1/12 (fma.f64 1/60 (pow.f64 re 2) (/.f64 1/4 (pow.f64 re 2))))
(+.f64 1/12 (fma.f64 (pow.f64 re 2) 1/60 (/.f64 1/4 (pow.f64 re 2))))
(fma.f64 1/4 (pow.f64 re -2) (fma.f64 (pow.f64 re 2) 1/60 1/12))
(+.f64 1/12 (+.f64 (*.f64 1/378 (pow.f64 re 4)) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))))
(+.f64 1/12 (fma.f64 1/378 (pow.f64 re 4) (fma.f64 1/60 (pow.f64 re 2) (/.f64 1/4 (pow.f64 re 2)))))
(+.f64 1/12 (fma.f64 1/378 (pow.f64 re 4) (fma.f64 (pow.f64 re 2) 1/60 (/.f64 1/4 (pow.f64 re 2)))))
(+.f64 1/12 (fma.f64 (pow.f64 re 2) 1/60 (fma.f64 1/378 (pow.f64 re 4) (/.f64 1/4 (pow.f64 re 2)))))
(fma.f64 1/378 (pow.f64 re 4) (fma.f64 1/4 (pow.f64 re -2) (fma.f64 (pow.f64 re 2) 1/60 1/12)))
(/.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 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
re
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 re (+.f64 1 (*.f64 (pow.f64 im 2) 1/2)))
(*.f64 re (fma.f64 (pow.f64 im 2) 1/2 1))
(+.f64 re (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(+.f64 re (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) re)))
(+.f64 re (*.f64 re (+.f64 (*.f64 (pow.f64 im 2) 1/2) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 re (fma.f64 1/24 (pow.f64 im 4) (*.f64 (pow.f64 im 2) 1/2)) re)
(+.f64 re (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) re)) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) re)) (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))))
(+.f64 re (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 im 2) 1/2) re))))
(+.f64 (*.f64 re (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 re (fma.f64 (pow.f64 im 2) 1/2 1)))
(*.f64 re (+.f64 (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4))) (fma.f64 (pow.f64 im 2) 1/2 1)))
(*.f64 re (+.f64 (fma.f64 1/24 (pow.f64 im 4) (*.f64 (pow.f64 im 2) 1/2)) (fma.f64 1/720 (pow.f64 im 6) 1)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.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 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/2))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 re 1/2))
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
-4
-2
-1
-1/2
0
1/16
1/8
1/4
1/2
1
3/2
2
3
4
(+.f64 re re)
(*.f64 2 re)
(-.f64 (exp.f64 (log1p.f64 re)) -4)
(+.f64 (exp.f64 (log1p.f64 re)) 4)
(+.f64 4 (exp.f64 (log1p.f64 re)))
(/.f64 re -4)
(/.f64 re (+.f64 re (-.f64 re re)))
1
(/.f64 (-.f64 re re) (-.f64 re re))
1
(pow.f64 re -4)
(pow.f64 re 1/3)
(cbrt.f64 re)
(sqrt.f64 re)
(fabs.f64 re)
re
(log.f64 (exp.f64 re))
re
(log.f64 (+.f64 -4 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
re
(exp.f64 (log.f64 re))
re
(exp.f64 (*.f64 (log.f64 re) -4))
(pow.f64 re -4)
(log1p.f64 (expm1.f64 re))
re
(fma.f64 -4 re re)
(*.f64 -3 re)
(*.f64 re -3)
(fma.f64 re -4 re)
(fma.f64 -4 re re)
(*.f64 -3 re)
(*.f64 re -3)

eval219.0ms (3.4%)

Compiler

Compiled 8955 to 5457 computations (39.1% saved)

prune73.0ms (1.1%)

Pruning

19 alts after pruning (15 fresh and 4 done)

PrunedKeptTotal
New74214756
Fresh011
Picked235
Done011
Total74419763
Accuracy
100.0%
Counts
763 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
18.7%
(pow.f64 re -4)
5.5%
(/.f64 re (+.f64 re (-.f64 re re)))
2.8%
(/.f64 re -4)
76.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
3.6%
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
7.6%
(+.f64 (sin.f64 re) (cbrt.f64 (sin.f64 re)))
46.7%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
36.0%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.5%
(+.f64 re re)
30.1%
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.9%
(*.f64 (*.f64 1/2 re) 1/4)
3.1%
(*.f64 re -3)
50.3%
(sin.f64 re)
38.1%
(log1p.f64 (expm1.f64 re))
18.7%
(exp.f64 (*.f64 (log.f64 re) -4))
25.6%
re
18.7%
(pow.f64 re -4)
5.5%
(/.f64 re (+.f64 re (-.f64 re re)))
2.8%
(/.f64 re -4)
76.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
3.6%
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
7.6%
(+.f64 (sin.f64 re) (cbrt.f64 (sin.f64 re)))
46.7%
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
36.0%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.5%
(+.f64 re re)
30.1%
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
61.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.9%
(*.f64 (*.f64 1/2 re) 1/4)
3.1%
(*.f64 re -3)
50.3%
(sin.f64 re)
38.1%
(log1p.f64 (expm1.f64 re))
18.7%
(exp.f64 (*.f64 (log.f64 re) -4))
25.6%
re
Compiler

Compiled 514 to 390 computations (24.1% saved)

localize461.0ms (7.2%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
97.7%
(log1p.f64 (expm1.f64 re))
100.0%
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
95.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
Compiler

Compiled 67 to 43 computations (35.8% saved)

series7.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

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

rewrite77.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1059×log1p-expm1-u
960×expm1-log1p-u
878×prod-diff
362×expm1-udef
362×log1p-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02153
122352
2291052
Stop Event
node limit
Counts
3 → 75
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
(log1p.f64 (expm1.f64 re))
Outputs
(+.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))) 1))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))) 1)
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (*.f64 (*.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 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (*.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 (*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (pow.f64 im 6) 8)) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (-.f64 4 (pow.f64 im 4))) (-.f64 2 (pow.f64 im 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 6) 8) (*.f64 1/2 (sin.f64 re))) (+.f64 4 (-.f64 (pow.f64 im 4) (*.f64 2 (pow.f64 im 2)))))
(/.f64 (*.f64 (-.f64 4 (pow.f64 im 4)) (*.f64 1/2 (sin.f64 re))) (-.f64 2 (pow.f64 im 2)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (*.f64 1/2 (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (fma.f64 im im 2) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 im im 2) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (fma.f64 im im 2)))))
(fma.f64 (*.f64 1/2 (sin.f64 re)) 2 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 2 (*.f64 1/2 (sin.f64 re)) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(-.f64 (exp.f64 (log1p.f64 (+.f64 (sin.f64 re) -1))) 1)
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 (sin.f64 re) -1) 1)
(*.f64 1 (+.f64 (sin.f64 re) -1))
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) (-.f64 (sqrt.f64 (sin.f64 re)) 1))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))) (+.f64 -1 (pow.f64 (sin.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 1 (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (+.f64 (sin.f64 re) 1))
(/.f64 (neg.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3))) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1)) (neg.f64 (+.f64 (sin.f64 re) 1)))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 2)) (-.f64 -1 (sin.f64 re)))
(pow.f64 (+.f64 (sin.f64 re) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 3)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 2)
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 re) -1))))
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3))
(expm1.f64 (log1p.f64 (+.f64 (sin.f64 re) -1)))
(exp.f64 (log.f64 (+.f64 (sin.f64 re) -1)))
(exp.f64 (*.f64 (log.f64 (+.f64 (sin.f64 re) -1)) 1))
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) -1)))
(fma.f64 1 (sin.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) -1)
(-.f64 (exp.f64 (log1p.f64 re)) 1)
(*.f64 re 1)
(*.f64 1 re)
(*.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re))
(*.f64 (sqrt.f64 re) (sqrt.f64 re))
(pow.f64 re 1)
(pow.f64 (cbrt.f64 re) 3)
(pow.f64 (pow.f64 re 3) 1/3)
(pow.f64 (sqrt.f64 re) 2)
(sqrt.f64 (pow.f64 re 2))
(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))

simplify62.0ms (1%)

Algorithm
egg-herbie
Rules
1806×fma-def
1224×unswap-sqr
1140×distribute-lft-in
1122×distribute-rgt-in
410×log-prod
Iterations

Useful iterations: 2 (0.0ms)

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

eval41.0ms (0.6%)

Compiler

Compiled 1679 to 1141 computations (32% saved)

prune41.0ms (0.6%)

Pruning

21 alts after pruning (14 fresh and 7 done)

PrunedKeptTotal
New1196125
Fresh2810
Picked235
Done044
Total12321144
Accuracy
100.0%
Counts
144 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
18.7%
(pow.f64 re -4)
5.5%
(/.f64 re (+.f64 re (-.f64 re re)))
3.6%
(-.f64 (sin.f64 re) 1)
2.3%
(-.f64 re 1)
76.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
7.6%
(+.f64 (sin.f64 re) (cbrt.f64 (sin.f64 re)))
36.0%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.5%
(+.f64 re re)
49.4%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
30.1%
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.9%
(*.f64 (*.f64 1/2 re) 1/4)
3.1%
(*.f64 re -3)
76.9%
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
46.7%
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
50.3%
(sin.f64 re)
38.1%
(log1p.f64 (expm1.f64 re))
18.7%
(exp.f64 (*.f64 (log.f64 re) -4))
25.6%
re
3.9%
-1
18.7%
(pow.f64 re -4)
5.5%
(/.f64 re (+.f64 re (-.f64 re re)))
3.6%
(-.f64 (sin.f64 re) 1)
2.3%
(-.f64 re 1)
76.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
7.6%
(+.f64 (sin.f64 re) (cbrt.f64 (sin.f64 re)))
36.0%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.5%
(+.f64 re re)
49.4%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
30.1%
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.9%
(*.f64 (*.f64 1/2 re) 1/4)
3.1%
(*.f64 re -3)
76.9%
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
46.7%
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
50.3%
(sin.f64 re)
38.1%
(log1p.f64 (expm1.f64 re))
18.7%
(exp.f64 (*.f64 (log.f64 re) -4))
25.6%
re
3.9%
-1
Compiler

Compiled 534 to 396 computations (25.8% saved)

localize131.0ms (2%)

Localize:

Found 5 expressions with local error:

NewAccuracyProgram
95.6%
(*.f64 re (fma.f64 im im 2))
100.0%
(sin.f64 re)
99.3%
(-.f64 (sin.f64 re) 1)
100.0%
(sin.f64 re)
95.5%
(*.f64 (fma.f64 im im 2) (sin.f64 re))
Compiler

Compiled 79 to 35 computations (55.7% saved)

series4.0ms (0.1%)

Counts
3 → 52
Calls

15 calls:

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

rewrite72.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1030×unpow-prod-down
746×log-prod
709×log1p-expm1-u
709×expm1-log1p-u
574×pow-prod-down
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01666
116266
2194566
Stop Event
node limit
Counts
3 → 113
Calls
Call 1
Inputs
(*.f64 (fma.f64 im im 2) (sin.f64 re))
(-.f64 (sin.f64 re) 1)
(*.f64 re (fma.f64 im im 2))
Outputs
(+.f64 0 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (sin.f64 re) 2))
(+.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 2 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(fma.f64 (sin.f64 re) (pow.f64 im 2) (*.f64 (sin.f64 re) 2))
(fma.f64 (pow.f64 im 2) (sin.f64 re) (*.f64 2 (sin.f64 re)))
(+.f64 (sin.f64 re) -1)
(+.f64 (sin.f64 re) (log.f64 (exp.f64 -1)))
(+.f64 0 (+.f64 (sin.f64 re) -1))
(+.f64 -1 (sin.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(*.f64 1 (+.f64 (sin.f64 re) -1))
(*.f64 (+.f64 (sin.f64 re) -1) 1)
(*.f64 (+.f64 (sin.f64 re) -1) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))) 1))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 1)) 1))
(*.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) (-.f64 (sqrt.f64 (sin.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (+.f64 (sin.f64 re) -1))
(*.f64 (pow.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) 1) (pow.f64 (-.f64 (sqrt.f64 (sin.f64 re)) 1) 1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 3) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2) 1/3) (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 (sin.f64 re) -1) (cbrt.f64 (+.f64 (sin.f64 re) -1))) 2) 1/3) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1/3))
(*.f64 (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 5/2) 1/3) (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (+.f64 (pow.f64 (sin.f64 re) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (+.f64 (sin.f64 re) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1)) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1)) (neg.f64 (+.f64 (sin.f64 re) 1)))
(pow.f64 (+.f64 (sin.f64 re) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 3)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (+.f64 (pow.f64 (sin.f64 re) 3) -1)) -1)
(pow.f64 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)) -1)
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 re) -1))))
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3))
(expm1.f64 (log.f64 (sin.f64 re)))
(exp.f64 (log.f64 (+.f64 (sin.f64 re) -1)))
(exp.f64 (*.f64 (log.f64 (+.f64 (sin.f64 re) -1)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (sin.f64 re) -1)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (sin.f64 re) -1))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) -1)))
(fma.f64 (sin.f64 re) 1 -1)
(fma.f64 1 (sin.f64 re) -1)
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) -1)
(+.f64 0 (*.f64 (fma.f64 im im 2) re))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 re 2))
(+.f64 (*.f64 (pow.f64 im 2) re) (*.f64 2 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) re))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) re))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) re)))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) re)))
(fma.f64 re (pow.f64 im 2) (*.f64 re 2))
(fma.f64 (pow.f64 im 2) re (*.f64 2 re))

simplify96.0ms (1.5%)

Algorithm
egg-herbie
Rules
1374×log-prod
762×associate-+r+
758×exp-prod
696×associate-+l+
486×log-pow
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03104690
17354440
224014273
362814245
Stop Event
node limit
Counts
165 → 163
Calls
Call 1
Inputs
(*.f64 2 (sin.f64 re))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (pow.f64 im 2) (sin.f64 re))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (pow.f64 im 2) (sin.f64 re))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (*.f64 re (+.f64 2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 re (+.f64 2 (pow.f64 im 2))))))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
-1
(-.f64 re 1)
(-.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) 1)
(-.f64 (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) 1)
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 2 re)
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 (pow.f64 im 2) re)
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(+.f64 0 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (sin.f64 re) 2))
(+.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 2 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(fma.f64 (sin.f64 re) (pow.f64 im 2) (*.f64 (sin.f64 re) 2))
(fma.f64 (pow.f64 im 2) (sin.f64 re) (*.f64 2 (sin.f64 re)))
(+.f64 (sin.f64 re) -1)
(+.f64 (sin.f64 re) (log.f64 (exp.f64 -1)))
(+.f64 0 (+.f64 (sin.f64 re) -1))
(+.f64 -1 (sin.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(*.f64 1 (+.f64 (sin.f64 re) -1))
(*.f64 (+.f64 (sin.f64 re) -1) 1)
(*.f64 (+.f64 (sin.f64 re) -1) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))) 1))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 1)) 1))
(*.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) (-.f64 (sqrt.f64 (sin.f64 re)) 1))
(*.f64 (pow.f64 1 1/3) (+.f64 (sin.f64 re) -1))
(*.f64 (pow.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) 1) (pow.f64 (-.f64 (sqrt.f64 (sin.f64 re)) 1) 1))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 3) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(*.f64 (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2) 1/3) (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 (sin.f64 re) -1) (cbrt.f64 (+.f64 (sin.f64 re) -1))) 2) 1/3) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1/3))
(*.f64 (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 5/2) 1/3) (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1/3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (+.f64 (pow.f64 (sin.f64 re) 3) -1)))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (+.f64 (sin.f64 re) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1)) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1)) (neg.f64 (+.f64 (sin.f64 re) 1)))
(pow.f64 (+.f64 (sin.f64 re) -1) 1)
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 3)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) 1/2)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3) 1/3)
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 2)
(pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (+.f64 (pow.f64 (sin.f64 re) 3) -1)) -1)
(pow.f64 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)) -1)
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2))
(log.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 re) -1))))
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3))
(expm1.f64 (log.f64 (sin.f64 re)))
(exp.f64 (log.f64 (+.f64 (sin.f64 re) -1)))
(exp.f64 (*.f64 (log.f64 (+.f64 (sin.f64 re) -1)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (sin.f64 re) -1)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (sin.f64 re) -1))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) -1)))
(fma.f64 (sin.f64 re) 1 -1)
(fma.f64 1 (sin.f64 re) -1)
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) -1)
(+.f64 0 (*.f64 (fma.f64 im im 2) re))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 re 2))
(+.f64 (*.f64 (pow.f64 im 2) re) (*.f64 2 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) re))) 1)
(pow.f64 (*.f64 (fma.f64 im im 2) re) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) re))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 3))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) re)))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re))) 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) re)))
(fma.f64 re (pow.f64 im 2) (*.f64 re 2))
(fma.f64 (pow.f64 im 2) re (*.f64 2 re))
Outputs
(*.f64 2 (sin.f64 re))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (pow.f64 im 2) (sin.f64 re))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (pow.f64 im 2) (sin.f64 re))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 2 (sin.f64 re)) (*.f64 (pow.f64 im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (*.f64 re (+.f64 2 (pow.f64 im 2))))
(fma.f64 -1/6 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (*.f64 re (fma.f64 im im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(fma.f64 -1/6 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 re (fma.f64 im im 2))))
(+.f64 (*.f64 (fma.f64 im im 2) (fma.f64 -1/6 (pow.f64 re 3) re)) (*.f64 (fma.f64 im im 2) (*.f64 1/120 (pow.f64 re 5))))
(*.f64 (fma.f64 im im 2) (+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (+.f64 2 (pow.f64 im 2)))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (+.f64 2 (pow.f64 im 2)))) (*.f64 re (+.f64 2 (pow.f64 im 2))))))
(fma.f64 -1/6 (*.f64 (fma.f64 im im 2) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (fma.f64 im im 2) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (fma.f64 im im 2) (pow.f64 re 5)) (*.f64 re (fma.f64 im im 2)))))
(+.f64 (*.f64 (fma.f64 im im 2) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (fma.f64 im im 2) (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (fma.f64 im im 2) (+.f64 (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/5040 (pow.f64 re 7))) (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(*.f64 (sin.f64 re) (+.f64 2 (pow.f64 im 2)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
-1
(-.f64 re 1)
(+.f64 re -1)
(-.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) 1)
(+.f64 re (-.f64 (*.f64 -1/6 (pow.f64 re 3)) 1))
(+.f64 re (fma.f64 -1/6 (pow.f64 re 3) -1))
(-.f64 (+.f64 re (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) 1)
(+.f64 (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5)))) -1)
(+.f64 -1 (+.f64 re (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (fma.f64 1/120 (pow.f64 re 5) -1))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 re (+.f64 2 (pow.f64 im 2)))
(*.f64 re (fma.f64 im im 2))
(*.f64 2 re)
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(*.f64 (pow.f64 im 2) re)
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 2 re) (*.f64 (pow.f64 im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 0 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 (sin.f64 re) (pow.f64 im 2)) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (*.f64 (pow.f64 im 2) (sin.f64 re)) (*.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1)
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 1)
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 3)
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 2) 1/2)
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 3) 1/3)
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 2))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(log.f64 (pow.f64 (exp.f64 (fma.f64 im im 2)) (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)) 3))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))) 1) 1))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 3))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 1/3))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re)))) 2))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) (sin.f64 re))))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(fma.f64 (sin.f64 re) (pow.f64 im 2) (*.f64 (sin.f64 re) 2))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(fma.f64 (pow.f64 im 2) (sin.f64 re) (*.f64 2 (sin.f64 re)))
(*.f64 (sin.f64 re) (fma.f64 im im 2))
(+.f64 (sin.f64 re) -1)
(+.f64 (sin.f64 re) (log.f64 (exp.f64 -1)))
(+.f64 (sin.f64 re) -1)
(+.f64 0 (+.f64 (sin.f64 re) -1))
(+.f64 (sin.f64 re) -1)
(+.f64 -1 (sin.f64 re))
(+.f64 (sin.f64 re) -1)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1))))) (log.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))) (log.f64 (sqrt.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))))
(+.f64 (sin.f64 re) -1)
(*.f64 1 (+.f64 (sin.f64 re) -1))
(+.f64 (sin.f64 re) -1)
(*.f64 (+.f64 (sin.f64 re) -1) 1)
(+.f64 (sin.f64 re) -1)
(*.f64 (+.f64 (sin.f64 re) -1) (log.f64 (exp.f64 1)))
(+.f64 (sin.f64 re) -1)
(*.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (cbrt.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(*.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) (sqrt.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (sin.f64 re) (+.f64 1 (pow.f64 (sin.f64 re) 2))))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (-.f64 -1 (sin.f64 re)) -1))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (pow.f64 (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))) 1))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (sin.f64 re) (+.f64 1 (pow.f64 (sin.f64 re) 2))))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (-.f64 -1 (sin.f64 re)) -1))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 1))
(*.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (pow.f64 (/.f64 1 (+.f64 (sin.f64 re) 1)) 1))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 1))
(*.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) (-.f64 (sqrt.f64 (sin.f64 re)) 1))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 1 1/3) (+.f64 (sin.f64 re) -1))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (+.f64 (sqrt.f64 (sin.f64 re)) 1) 1) (pow.f64 (-.f64 (sqrt.f64 (sin.f64 re)) 1) 1))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2)) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 3) (pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)))) 3) (pow.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2) 1/3) (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2)) (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3)) 1/3))
(*.f64 (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2)) (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3/2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (+.f64 (sin.f64 re) -1) (cbrt.f64 (+.f64 (sin.f64 re) -1))) 2) 1/3) (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 1/3))
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (pow.f64 (*.f64 (+.f64 (sin.f64 re) -1) (cbrt.f64 (+.f64 (sin.f64 re) -1))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 8)))
(*.f64 (pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 5/2) 1/3) (pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) (cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 5/2)))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 2)) 2) (pow.f64 (sqrt.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(+.f64 (sin.f64 re) -1)
(*.f64 (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2) (pow.f64 (sqrt.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(+.f64 (sin.f64 re) -1)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (+.f64 (pow.f64 (sin.f64 re) 3) -1)))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (sin.f64 re) (+.f64 1 (pow.f64 (sin.f64 re) 2))))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (-.f64 -1 (sin.f64 re)) -1))
(/.f64 1 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 1))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (sin.f64 re) (+.f64 1 (pow.f64 (sin.f64 re) 2))))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (-.f64 -1 (sin.f64 re)) -1))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1) (+.f64 (pow.f64 (sin.f64 re) 2) (-.f64 1 (*.f64 (sin.f64 re) -1))))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (sin.f64 re) (+.f64 1 (pow.f64 (sin.f64 re) 2))))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (-.f64 -1 (sin.f64 re)) -1))
(/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1) (+.f64 (sin.f64 re) 1))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 3) -1)) (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (sin.f64 re) (+.f64 1 (pow.f64 (sin.f64 re) 2))))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (-.f64 -1 (sin.f64 re)) -1))
(/.f64 (neg.f64 (+.f64 (pow.f64 (sin.f64 re) 2) -1)) (neg.f64 (+.f64 (sin.f64 re) 1)))
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 1))
(pow.f64 (+.f64 (sin.f64 re) -1) 1)
(+.f64 (sin.f64 re) -1)
(pow.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1)) 3)
(+.f64 (sin.f64 re) -1)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2) 1/2)
(+.f64 (sin.f64 re) -1)
(pow.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3) 1/3)
(+.f64 (sin.f64 re) -1)
(pow.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1)) 2)
(+.f64 (sin.f64 re) -1)
(pow.f64 (/.f64 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)) (+.f64 (pow.f64 (sin.f64 re) 3) -1)) -1)
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (/.f64 1 (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1))))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (pow.f64 (sin.f64 re) 2) (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 3)) (+.f64 (sin.f64 re) (+.f64 1 (pow.f64 (sin.f64 re) 2))))
(/.f64 (-.f64 1 (pow.f64 (sin.f64 re) 3)) (fma.f64 (sin.f64 re) (-.f64 -1 (sin.f64 re)) -1))
(pow.f64 (/.f64 (+.f64 (sin.f64 re) 1) (+.f64 (pow.f64 (sin.f64 re) 2) -1)) -1)
(*.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (/.f64 1 (+.f64 (sin.f64 re) 1)))
(/.f64 (+.f64 -1 (pow.f64 (sin.f64 re) 2)) (+.f64 (sin.f64 re) 1))
(sqrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 2))
(+.f64 (sin.f64 re) -1)
(log.f64 (exp.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(log.f64 (+.f64 1 (expm1.f64 (+.f64 (sin.f64 re) -1))))
(+.f64 (sin.f64 re) -1)
(cbrt.f64 (pow.f64 (+.f64 (sin.f64 re) -1) 3))
(+.f64 (sin.f64 re) -1)
(expm1.f64 (log.f64 (sin.f64 re)))
(+.f64 (sin.f64 re) -1)
(exp.f64 (log.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (+.f64 (sin.f64 re) -1)) 1))
(+.f64 (sin.f64 re) -1)
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 (sin.f64 re) -1)) 1) 1))
(+.f64 (sin.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (+.f64 (sin.f64 re) -1))) 3))
(+.f64 (sin.f64 re) -1)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (+.f64 (sin.f64 re) -1))) 1/3))
(+.f64 (sin.f64 re) -1)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 (sin.f64 re) -1))) 2))
(+.f64 (sin.f64 re) -1)
(log1p.f64 (expm1.f64 (+.f64 (sin.f64 re) -1)))
(+.f64 (sin.f64 re) -1)
(fma.f64 (sin.f64 re) 1 -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 1 (sin.f64 re) -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (cbrt.f64 (sin.f64 re)) 1) -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) -1)
(+.f64 (sin.f64 re) -1)
(fma.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) 1) -1)
(+.f64 (sin.f64 re) -1)
(+.f64 0 (*.f64 (fma.f64 im im 2) re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 re 2))
(*.f64 re (fma.f64 im im 2))
(+.f64 (*.f64 (pow.f64 im 2) re) (*.f64 2 re))
(*.f64 re (fma.f64 im im 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2))) (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))))
(*.f64 re (fma.f64 im im 2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) re))) 1)
(*.f64 re (fma.f64 im im 2))
(pow.f64 (*.f64 (fma.f64 im im 2) re) 1)
(*.f64 re (fma.f64 im im 2))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re)) 3)
(*.f64 re (fma.f64 im im 2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2) 1/2)
(*.f64 re (fma.f64 im im 2))
(pow.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 3) 1/3)
(*.f64 re (fma.f64 im im 2))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re)) 2)
(*.f64 re (fma.f64 im im 2))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 2))
(*.f64 re (fma.f64 im im 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 im im 2)))
(*.f64 re (fma.f64 im im 2))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 im im 2) re))))
(*.f64 re (fma.f64 im im 2))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 im im 2) re) 3))
(*.f64 re (fma.f64 im im 2))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 im im 2) re)))
(*.f64 re (fma.f64 im im 2))
(exp.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)))
(*.f64 re (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)) 1))
(*.f64 re (fma.f64 im im 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (fma.f64 im im 2) re)) 1) 1))
(*.f64 re (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (fma.f64 im im 2) re))) 3))
(*.f64 re (fma.f64 im im 2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (fma.f64 im im 2) re))) 1/3))
(*.f64 re (fma.f64 im im 2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (fma.f64 im im 2) re))) 2))
(*.f64 re (fma.f64 im im 2))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 im im 2) re)))
(*.f64 re (fma.f64 im im 2))
(fma.f64 re (pow.f64 im 2) (*.f64 re 2))
(*.f64 re (fma.f64 im im 2))
(fma.f64 (pow.f64 im 2) re (*.f64 2 re))
(*.f64 re (fma.f64 im im 2))

eval74.0ms (1.2%)

Compiler

Compiled 3312 to 2261 computations (31.7% saved)

prune50.0ms (0.8%)

Pruning

22 alts after pruning (10 fresh and 12 done)

PrunedKeptTotal
New2661267
Fresh099
Picked055
Done077
Total26622288
Accuracy
100.0%
Counts
288 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
18.7%
(pow.f64 re -4)
5.5%
(/.f64 re (+.f64 re (-.f64 re re)))
3.6%
(-.f64 (sin.f64 re) 1)
2.3%
(-.f64 re 1)
76.9%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
7.6%
(+.f64 (sin.f64 re) (cbrt.f64 (sin.f64 re)))
36.0%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
6.5%
(+.f64 re re)
49.4%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
30.1%
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
5.9%
(*.f64 (*.f64 1/2 re) 1/4)
3.1%
(*.f64 re -3)
76.9%
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
24.7%
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
46.7%
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
50.3%
(sin.f64 re)
38.1%
(log1p.f64 (expm1.f64 re))
18.7%
(exp.f64 (*.f64 (log.f64 re) -4))
25.6%
re
3.9%
-1
Compiler

Compiled 359 to 241 computations (32.9% saved)

regimes79.0ms (1.2%)

Counts
29 → 1
Calls
Call 1
Inputs
-1
re
(*.f64 re -3)
(+.f64 re re)
(-.f64 re 1)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(sin.f64 re)
(pow.f64 re -4)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (sin.f64 re) (cbrt.f64 (sin.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

15.0ms
(sin.f64 re)
15.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
im
14.0ms
re
11.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 223 to 140 computations (37.2% saved)

regimes139.0ms (2.2%)

Counts
26 → 3
Calls
Call 1
Inputs
-1
re
(*.f64 re -3)
(+.f64 re re)
(-.f64 re 1)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(sin.f64 re)
(pow.f64 re -4)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (sin.f64 re) (cbrt.f64 (sin.f64 re)))
Outputs
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
Calls

4 calls:

37.0ms
(sin.f64 re)
36.0ms
(*.f64 1/2 (sin.f64 re))
36.0ms
im
24.0ms
re
Results
AccuracySegmentsBranch
88.9%2re
93.1%3im
87.8%3(*.f64 1/2 (sin.f64 re))
87.8%3(sin.f64 re)
Compiler

Compiled 166 to 106 computations (36.1% saved)

regimes64.0ms (1%)

Counts
22 → 3
Calls
Call 1
Inputs
-1
re
(*.f64 re -3)
(+.f64 re re)
(-.f64 re 1)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(sin.f64 re)
(pow.f64 re -4)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
Outputs
(*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re)))
(pow.f64 re -4)
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
Calls

3 calls:

33.0ms
im
13.0ms
(sin.f64 re)
13.0ms
re
Results
AccuracySegmentsBranch
76.9%1(sin.f64 re)
76.9%1re
84.1%3im
Compiler

Compiled 120 to 75 computations (37.5% saved)

regimes127.0ms (2%)

Counts
21 → 3
Calls
Call 1
Inputs
-1
re
(*.f64 re -3)
(+.f64 re re)
(-.f64 re 1)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(sin.f64 re)
(pow.f64 re -4)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
Outputs
(sin.f64 re)
(pow.f64 re -4)
(*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))
Calls

1 calls:

122.0ms
im
Results
AccuracySegmentsBranch
83.8%3im
Compiler

Compiled 104 to 65 computations (37.5% saved)

regimes163.0ms (2.5%)

Counts
20 → 3
Calls
Call 1
Inputs
-1
re
(*.f64 re -3)
(+.f64 re re)
(-.f64 re 1)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(sin.f64 re)
(pow.f64 re -4)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(log1p.f64 (expm1.f64 re))
(exp.f64 (*.f64 (log.f64 re) -4))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Outputs
(sin.f64 re)
(pow.f64 re -4)
(*.f64 1/2 (*.f64 re (fma.f64 im im 2)))
Calls

3 calls:

65.0ms
re
62.0ms
(sin.f64 re)
32.0ms
im
Results
AccuracySegmentsBranch
63.8%4re
65.9%5(sin.f64 re)
76.8%3im
Compiler

Compiled 103 to 65 computations (36.9% saved)

regimes25.0ms (0.4%)

Counts
14 → 3
Calls
Call 1
Inputs
-1
re
(*.f64 re -3)
(+.f64 re re)
(-.f64 re 1)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(sin.f64 re)
(pow.f64 re -4)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
Outputs
(sin.f64 re)
(pow.f64 re -4)
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
Calls

1 calls:

22.0ms
im
Results
AccuracySegmentsBranch
76.8%3im
Compiler

Compiled 60 to 38 computations (36.7% saved)

regimes16.0ms (0.3%)

Counts
12 → 2
Calls
Call 1
Inputs
-1
re
(*.f64 re -3)
(+.f64 re re)
(-.f64 re 1)
(/.f64 re -4)
(*.f64 (*.f64 1/2 re) 1/4)
(/.f64 re (+.f64 re (-.f64 re re)))
(sin.f64 re)
(pow.f64 re -4)
(-.f64 (sin.f64 re) 1)
(+.f64 (sin.f64 re) (*.f64 1/2 -2))
Outputs
(sin.f64 re)
(pow.f64 re -4)
Calls

1 calls:

14.0ms
im
Results
AccuracySegmentsBranch
66.2%2im
Compiler

Compiled 46 to 28 computations (39.1% saved)

regimes21.0ms (0.3%)

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

3 calls:

6.0ms
(sin.f64 re)
6.0ms
im
6.0ms
re
Results
AccuracySegmentsBranch
50.3%1re
50.3%1(sin.f64 re)
50.3%1im
Compiler

Compiled 40 to 25 computations (37.5% saved)

regimes18.0ms (0.3%)

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

2 calls:

10.0ms
re
6.0ms
im
Results
AccuracySegmentsBranch
25.6%1im
27.5%2re
Compiler

Compiled 34 to 21 computations (38.2% saved)

regimes12.0ms (0.2%)

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

1 calls:

10.0ms
re
Results
AccuracySegmentsBranch
27.3%2re
Compiler

Compiled 24 to 16 computations (33.3% saved)

regimes6.0ms (0.1%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
-1
Outputs
-1
Calls

2 calls:

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

Compiled 9 to 7 computations (22.2% saved)

bsearch92.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
64.0ms
9.643707310974666e+152
8.224630329371335e+154
28.0ms
5557.892425227961
36671.30193388648
Results
63.0ms68×body1024infinite
16.0ms111×body256infinite
7.0ms29×body512infinite
Compiler

Compiled 337 to 262 computations (22.3% saved)

bsearch109.0ms (1.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
31.0ms
9.643707310974666e+152
8.224630329371335e+154
78.0ms
227477730.30491
85356584024.59831
Results
72.0ms61×body1024infinite
26.0ms152×body256infinite
7.0ms27×body512infinite
Compiler

Compiled 282 to 225 computations (20.2% saved)

bsearch62.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
9.643707310974666e+152
8.224630329371335e+154
34.0ms
227477730.30491
85356584024.59831
Results
31.0ms70×body1024infinite
21.0ms141×body256infinite
7.0ms29×body512infinite
Compiler

Compiled 226 to 185 computations (18.1% saved)

bsearch54.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
9.762592677685125e+143
2.2249956735356445e+144
35.0ms
227477730.30491
85356584024.59831
Results
25.0ms56×body1024infinite
19.0ms122×body256infinite
7.0ms30×body512infinite
Compiler

Compiled 192 to 152 computations (20.8% saved)

bsearch62.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
9.762592677685125e+143
2.2249956735356445e+144
33.0ms
227477730.30491
85356584024.59831
Results
23.0ms60×body1024infinite
18.0ms123×body256infinite
17.0ms25×body512infinite
Compiler

Compiled 187 to 152 computations (18.7% saved)

bsearch33.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
33.0ms
227477730.30491
85356584024.59831
Results
15.0ms36×body1024infinite
13.0ms80×body256infinite
3.0ms12×body512infinite
Compiler

Compiled 107 to 87 computations (18.7% saved)

bsearch16.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
16.0ms
1.3770729239050338e-17
8.74612945299094e-17
Results
8.0ms50×body256valid
7.0ms46×body256infinite
Compiler

Compiled 103 to 69 computations (33% saved)

bsearch15.0ms (0.2%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
15.0ms
287047.3393246092
816088.9958425248
Results
8.0ms43×body256infinite
6.0ms37×body256valid
Compiler

Compiled 59 to 50 computations (15.3% saved)

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
26×*-commutative
10×+-commutative
sub-neg
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065581
183581
288581
391581
492581
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 5600) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))))
(if (<=.f64 im 230000000) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -4) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -4) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 1400000000000000033243605302111547500372121098960155062462850984138332401358828801595448679502516611781084356787376162506110778437846114202812416) (pow.f64 re -4) (*.f64 1/2 (*.f64 re (fma.f64 im im 2)))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 1540000000000000053897151420577795122774421859750443715186867803651019236310209060596376721237928416959032830616986141865416924790403049554182144) (pow.f64 re -4) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(if (<=.f64 im 230000000) (sin.f64 re) (pow.f64 re -4))
(sin.f64 re)
(if (<=.f64 re 6977148903656175/81129638414606681695789005144064) re (/.f64 re (+.f64 re (-.f64 re re))))
(if (<=.f64 re 650000) re -1)
-1
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 (sin.f64 re)))
(if (<=.f64 im 5600) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))))
(if (<=.f64 im 5600) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 1/2 re)) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))))
(if (<=.f64 im 230000000) (*.f64 1/2 (*.f64 (fma.f64 im im 2) (sin.f64 re))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -4) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))))
(if (<=.f64 im 230000000) (*.f64 1/2 (*.f64 (sin.f64 re) (fma.f64 im im 2))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -4) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -4) (*.f64 (pow.f64 im 2) (*.f64 (sin.f64 re) 1/2))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (pow.f64 re -4) (*.f64 (pow.f64 im 2) (*.f64 1/2 (sin.f64 re)))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 1400000000000000033243605302111547500372121098960155062462850984138332401358828801595448679502516611781084356787376162506110778437846114202812416) (pow.f64 re -4) (*.f64 1/2 (*.f64 re (fma.f64 im im 2)))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 1540000000000000053897151420577795122774421859750443715186867803651019236310209060596376721237928416959032830616986141865416924790403049554182144) (pow.f64 re -4) (*.f64 1/2 (*.f64 (pow.f64 im 2) re))))
(if (<=.f64 im 230000000) (sin.f64 re) (if (<=.f64 im 1540000000000000053897151420577795122774421859750443715186867803651019236310209060596376721237928416959032830616986141865416924790403049554182144) (pow.f64 re -4) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(if (<=.f64 im 230000000) (sin.f64 re) (pow.f64 re -4))
(sin.f64 re)
(if (<=.f64 re 6977148903656175/81129638414606681695789005144064) re (/.f64 re (+.f64 re (-.f64 re re))))
(if (<=.f64 re 650000) re -1)
-1
Compiler

Compiled 188 to 133 computations (29.3% saved)

soundness529.0ms (8.3%)

Rules
2266×fma-def
1806×fma-def
1806×fma-def
1578×fma-def
1538×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036316
1111308
2394308
31005298
42232294
55131294
67600294
024132
1346132
25830132
024132
1346132
25830132
024132
1346132
25830132
02243464
15943280
224383097
01492444
13642393
29592292
344012228
02243464
15943280
224383097
Stop Event
node limit
node limit
node limit
unsound
unsound
unsound
node limit
Compiler

Compiled 214 to 137 computations (36% saved)

end0.0ms (0%)

preprocess189.0ms (3%)

Remove

(negabs re)

(abs im)

Compiler

Compiled 416 to 266 computations (36.1% saved)

Profiling

Loading profile data...