math.sin on complex, real part

Time bar (total: 6.0s)

analyze0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

sample1.6s (25.7%)

Results
790.0ms4156×256valid
752.0ms4100×256infinite
Bogosity

preprocess342.0ms (5.7%)

Algorithm
egg-herbie
Rules
2266×fma-def
1530×div-sub
1052×times-frac
898×distribute-lft-neg-in
784×distribute-rgt-neg-in
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-re
00-0-(*.f64 1/2 (sin.f64 re))
00-0-(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
00-0-1/2
00-0-im
00-0-(-.f64 0 im)
00-0-(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
00-0-(exp.f64 (-.f64 0 im))
00-0-(sin.f64 re)
00-0-(exp.f64 im)
00-0-0
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036316
1111308
2397308
31003298
42231294
55114294
67594294
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 96 to 61 computations (36.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)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize50.0ms (0.8%)

Localize:

Found 2 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)))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series8.0ms (0.1%)

Counts
2 → 36
Calls

9 calls:

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

rewrite150.0ms (2.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01669
120269
2329669
Stop Event
unsound
Counts
2 → 28
Calls
Call 1
Inputs
(*.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 (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 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
-2
0
1/4
1/2
3/2
2

simplify85.0ms (1.4%)

Algorithm
egg-herbie
Rules
1092×fma-neg
910×fma-def
906×div-sub
880×cancel-sign-sub-inv
648×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01121901
13261772
29881772
346611772
Stop Event
node limit
Counts
64 → 63
Calls
Call 1
Inputs
(*.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 (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 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
-2
0
1/4
1/2
3/2
2
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 5)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 1/2 re))))
(+.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 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 -1/10080 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 7)) (fma.f64 1/240 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 5)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 1/2 re))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (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) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.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 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))))
(+.f64 (*.f64 (sin.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (sin.f64 re)))
2
(sin.f64 re)
(+.f64 2 (pow.f64 im 2))
(fma.f64 im 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 (fma.f64 (pow.f64 im 4) 1/12 (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 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (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 (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 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
-2
(sin.f64 re)
0
(sin.f64 re)
1/4
(sin.f64 re)
1/2
(sin.f64 re)
3/2
(sin.f64 re)
2
(sin.f64 re)

eval16.0ms (0.3%)

Compiler

Compiled 885 to 490 computations (44.6% saved)

prune13.0ms (0.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New57663
Fresh000
Picked011
Done000
Total57764
Accuracy
100.0%
Counts
64 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
14.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
76.9%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
10.5%
(+.f64 (sin.f64 re) (sin.f64 re))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
68.4%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.1%
(sin.f64 re)
Compiler

Compiled 123 to 90 computations (26.8% saved)

localize108.0ms (1.8%)

Localize:

Found 5 expressions with local error:

NewAccuracyProgram
95.1%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
99.7%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
100.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
100.0%
(*.f64 1/2 (pow.f64 im 2))
95.0%
(*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re))
Compiler

Compiled 84 to 42 computations (50% saved)

series13.0ms (0.2%)

Counts
5 → 84
Calls

24 calls:

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

rewrite132.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1908×prod-diff
770×log1p-expm1-u
473×expm1-log1p-u
460×expm1-udef
460×log1p-udef
Iterations

Useful iterations: 1 (0.0ms)

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

simplify103.0ms (1.7%)

Algorithm
egg-herbie
Rules
1082×unswap-sqr
846×distribute-lft-in
844×distribute-rgt-in
822×associate-+r+
498×cancel-sign-sub-inv
Iterations

Useful iterations: 2 (0.0ms)

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

eval64.0ms (1.1%)

Compiler

Compiled 2791 to 1972 computations (29.3% saved)

prune27.0ms (0.5%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New1584162
Fresh011
Picked145
Done011
Total15910169
Accuracy
100.0%
Counts
169 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
13.5%
(/.f64 1/4 (pow.f64 re 2))
76.9%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
10.5%
(+.f64 (sin.f64 re) (sin.f64 re))
14.7%
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
54.8%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
68.4%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
54.9%
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
50.1%
(sin.f64 re)
Compiler

Compiled 158 to 122 computations (22.8% saved)

localize163.0ms (2.7%)

Localize:

Found 10 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))
99.8%
(*.f64 -1/12 (pow.f64 re 3))
95.5%
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
100.0%
(*.f64 1/2 (pow.f64 im 2))
95.5%
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
100.0%
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
99.4%
(/.f64 1/4 (pow.f64 re 2))
99.4%
(/.f64 1/4 (pow.f64 re 2))
100.0%
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
100.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Compiler

Compiled 135 to 89 computations (34.1% saved)

series19.0ms (0.3%)

Counts
9 → 92
Calls

36 calls:

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

rewrite57.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
472×associate-*r*
306×associate-*l*
220×log1p-expm1-u
220×expm1-log1p-u
211×add-exp-log
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034261
1497261
Stop Event
node limit
Counts
9 → 270
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 1/4 (pow.f64 re 2))
(/.f64 1/4 (pow.f64 re 2))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (pow.f64 re 3))
(+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))
Outputs
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8

simplify142.0ms (2.3%)

Algorithm
egg-herbie
Rules
1624×unswap-sqr
1512×distribute-lft-out
1090×times-frac
764×*-commutative
686×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0903404
12183327
25903263
319283258
435453258
569743258
Stop Event
node limit
Counts
362 → 89
Calls
Call 1
Inputs
(*.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)))))
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 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(/.f64 1/4 (pow.f64 re 2))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
1/12
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
1/12
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
re
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.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 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 -1/12 (*.f64 (pow.f64 re 3) (+.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 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 -1/12 (*.f64 (pow.f64 re 3) (+.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 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 1/2 re)
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(*.f64 -1/12 (pow.f64 re 3))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(*.f64 -1/12 (pow.f64 re 3))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
Outputs
(*.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 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
re
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 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 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 re (*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(fma.f64 re (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4))) 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 1/2 (*.f64 re (pow.f64 im 2))))))
(+.f64 re (fma.f64 1/720 (*.f64 re (pow.f64 im 6)) (*.f64 re (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))))
(fma.f64 re (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4))) (*.f64 re (fma.f64 1/720 (pow.f64 im 6) 1)))
(*.f64 re (+.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 1/720 (pow.f64 im 6) (*.f64 1/24 (pow.f64 im 4)))))
(*.f64 re (+.f64 (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 im 4))) (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 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.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 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.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 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.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 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.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 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
2
(+.f64 2 (pow.f64 im 2))
(fma.f64 im 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 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2)))
(fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2))
(fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im 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 2 (fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (pow.f64 im 2))))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 im im (fma.f64 (pow.f64 im 4) 1/12 2)))
(fma.f64 (pow.f64 im 6) 1/360 (fma.f64 (pow.f64 im 4) 1/12 (fma.f64 im im 2)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))
(+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))
(/.f64 1/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)))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (/.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)))
1/12
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (/.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)))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
1/12
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (/.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)))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
re
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) re))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 re (*.f64 1/2 (*.f64 (pow.f64 im 2) re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.f64 re (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(*.f64 2 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
(fma.f64 (pow.f64 re 3) -1/6 re)
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))
(*.f64 (pow.f64 im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(*.f64 (pow.f64 im 2) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))
(*.f64 (pow.f64 im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 2 (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 re (pow.f64 im 2)) re)
(*.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)))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.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 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.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 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 -1/12 (pow.f64 re 3)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 re 3)))
(+.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 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.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 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.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 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 2 (pow.f64 im 2))))
(*.f64 (*.f64 -1/12 (pow.f64 re 3)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 re 3)))
(+.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 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.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 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.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 1/2 (*.f64 re (+.f64 2 (pow.f64 im 2)))))
(*.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) (+.f64 2 (pow.f64 im 2)))
(*.f64 (fma.f64 im im 2) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 1/2 re)
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(*.f64 -1/12 (pow.f64 re 3))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(*.f64 -1/12 (pow.f64 re 3))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re))
(fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))
(fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8
-2
-1
-1/2
-1/4
-1/12
-1/16
-1/48
-1/64
-1/1728
0
1/5159780352
1/2985984
1/20736
1/1728
1/144
1/64
1/48
1/16
1/12
1/8
1/4
1/2
3/4
1
3/2
2
3
4
6
8

eval27.0ms (0.4%)

Compiler

Compiled 972 to 731 computations (24.8% saved)

prune26.0ms (0.4%)

Pruning

23 alts after pruning (17 fresh and 6 done)

PrunedKeptTotal
New8817105
Fresh000
Picked325
Done145
Total9223115
Accuracy
100.0%
Counts
115 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
13.5%
(/.f64 1/4 (pow.f64 re 2))
38.7%
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
76.9%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
13.8%
(*.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 re 3)))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
68.4%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
27.6%
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
50.1%
(sin.f64 re)
31.0%
re
4.6%
8
5.2%
1
5.1%
3/4
5.0%
1/2
5.0%
1/4
4.8%
1/8
4.7%
1/16
3.1%
-1/16
3.1%
-1/12
3.3%
-1/4
3.4%
-1/2
3.6%
-1
3.1%
-2
Compiler

Compiled 208 to 177 computations (14.9% saved)

localize47.0ms (0.8%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
99.8%
(*.f64 (pow.f64 re 3) -1/6)
Compiler

Compiled 31 to 25 computations (19.4% saved)

series2.0ms (0%)

Counts
2 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@inf
(*.f64 (pow.f64 re 3) -1/6)
0.0ms
re
@-inf
(*.f64 (pow.f64 re 3) -1/6)
0.0ms
re
@0
(*.f64 (pow.f64 re 3) -1/6)
0.0ms
re
@inf
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
0.0ms
re
@-inf
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))

rewrite80.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1756×prod-diff
750×unpow-prod-down
550×fma-def
476×log-prod
466×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01237
113737
2135637
Stop Event
node limit
Counts
2 → 81
Calls
Call 1
Inputs
(*.f64 (pow.f64 re 3) -1/6)
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
Outputs
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(pow.f64 (*.f64 (pow.f64 re 6) 1/36) 1/2)
(pow.f64 (*.f64 (pow.f64 re 9) -1/216) 1/3)
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(cbrt.f64 (*.f64 (pow.f64 re 9) -1/216))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 9) -1/216)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(*.f64 1 (fma.f64 (pow.f64 re 3) -1/6 re))
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(*.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2))) (/.f64 1 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(*.f64 (pow.f64 1 1/3) (fma.f64 (pow.f64 re 3) -1/6 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2) 3) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(/.f64 1 (/.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))) (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re) (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 6) 1/36) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2))) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))) (neg.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))) (neg.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 6) 1/36)) (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))
(pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2)
(pow.f64 (/.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))) (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re) (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))) -1)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 re 1 (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 re (*.f64 (pow.f64 re 2) -1/6) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 (pow.f64 re 3) -1/6) 1 re)
(fma.f64 1 re (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 1 (*.f64 (pow.f64 re 3) -1/6) re)
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
(fma.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) re)
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)) re)
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (cbrt.f64 (pow.f64 re 2)) (cbrt.f64 re) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6) re)
(fma.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (*.f64 -1/6 re) (pow.f64 re 2) re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2) re)

simplify88.0ms (1.5%)

Algorithm
egg-herbie
Rules
824×log-prod
752×fma-neg
746×fma-def
612×unswap-sqr
572×exp-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02053182
14863087
213492789
358642761
Stop Event
node limit
Counts
105 → 101
Calls
Call 1
Inputs
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(pow.f64 (*.f64 (pow.f64 re 6) 1/36) 1/2)
(pow.f64 (*.f64 (pow.f64 re 9) -1/216) 1/3)
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(cbrt.f64 (*.f64 (pow.f64 re 9) -1/216))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 9) -1/216)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1)
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(*.f64 1 (fma.f64 (pow.f64 re 3) -1/6 re))
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (log.f64 (exp.f64 1)))
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(*.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2))) (/.f64 1 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(*.f64 (pow.f64 1 1/3) (fma.f64 (pow.f64 re 3) -1/6 re))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2) 3) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3)) 1/3))
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(/.f64 1 (/.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))) (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re) (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 6) 1/36) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2))) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))) (neg.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))) (neg.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 6) 1/36)) (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))
(pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 3)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2)
(pow.f64 (/.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))) (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re) (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))) -1)
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2))
(log.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3))
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 re 1 (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 re (*.f64 (pow.f64 re 2) -1/6) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 (pow.f64 re 3) -1/6) 1 re)
(fma.f64 1 re (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 1 (*.f64 (pow.f64 re 3) -1/6) re)
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
(fma.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) re)
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)) re)
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (cbrt.f64 (pow.f64 re 2)) (cbrt.f64 re) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6) re)
(fma.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (*.f64 -1/6 re) (pow.f64 re 2) re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2) re)
Outputs
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
(*.f64 -1/6 (pow.f64 re 3))
re
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(+.f64 0 (*.f64 (pow.f64 re 3) -1/6))
(*.f64 -1/6 (pow.f64 re 3))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/6) (pow.f64 re 3)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))))
(*.f64 -1/6 (pow.f64 re 3))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6))) 1)
(*.f64 -1/6 (pow.f64 re 3))
(pow.f64 (*.f64 (pow.f64 re 3) -1/6) 1)
(*.f64 -1/6 (pow.f64 re 3))
(pow.f64 (*.f64 re (cbrt.f64 -1/6)) 3)
(*.f64 -1/6 (pow.f64 re 3))
(pow.f64 (*.f64 (pow.f64 re 6) 1/36) 1/2)
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(pow.f64 (*.f64 (pow.f64 re 9) -1/216) 1/3)
(cbrt.f64 (*.f64 (pow.f64 re 9) -1/216))
(pow.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) 2)
(*.f64 -1/6 (pow.f64 re 3))
(sqrt.f64 (*.f64 (pow.f64 re 6) 1/36))
(log.f64 (pow.f64 (exp.f64 (pow.f64 re 3)) -1/6))
(*.f64 -1/6 (pow.f64 re 3))
(cbrt.f64 (*.f64 (pow.f64 re 9) -1/216))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 -1/6 (pow.f64 re 3))
(exp.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 -1/6 (pow.f64 re 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1))
(*.f64 -1/6 (pow.f64 re 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 1) 1))
(*.f64 -1/6 (pow.f64 re 3))
(exp.f64 (*.f64 (log.f64 (*.f64 re (cbrt.f64 -1/6))) 3))
(*.f64 -1/6 (pow.f64 re 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3) -1/6)) 3) 1/3))
(*.f64 -1/6 (pow.f64 re 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 9) -1/216)) 1/3))
(cbrt.f64 (*.f64 (pow.f64 re 9) -1/216))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6))) 2))
(*.f64 -1/6 (pow.f64 re 3))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 re 3) -1/6)))
(*.f64 -1/6 (pow.f64 re 3))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1)
(fma.f64 -1/6 (pow.f64 re 3) re)
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(-.f64 (/.f64 1/36 (/.f64 (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re)) (pow.f64 re 6))) (/.f64 (pow.f64 re 2) (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/36 (pow.f64 re 2)) (fma.f64 (pow.f64 re 3) 1/6 re))
(*.f64 1 (fma.f64 (pow.f64 re 3) -1/6 re))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (log.f64 (exp.f64 1)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 6) 1/36 (*.f64 (pow.f64 re 4) 1/6))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2))))
(*.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2))) (/.f64 1 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(-.f64 (/.f64 1/36 (/.f64 (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re)) (pow.f64 re 6))) (/.f64 (pow.f64 re 2) (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/36 (pow.f64 re 2)) (fma.f64 (pow.f64 re 3) 1/6 re))
(*.f64 (pow.f64 1 1/3) (fma.f64 (pow.f64 re 3) -1/6 re))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2) 3) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3) (pow.f64 (sqrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(fma.f64 -1/6 (pow.f64 re 3) re)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3))) (cbrt.f64 (sqrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3/2)) (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3/2)))
(pow.f64 (pow.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 3/2) 1/6) 4)
(*.f64 (pow.f64 (pow.f64 (*.f64 (fma.f64 (pow.f64 re 3) -1/6 re) (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2) 1/3) (cbrt.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) (cbrt.f64 (pow.f64 (*.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) (cbrt.f64 (pow.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 4) 2)))
(*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))) (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re)) 8)))
(*.f64 (pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 5/2) 1/3) (cbrt.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))))
(*.f64 (cbrt.f64 (pow.f64 (fma.f64 -1/6 (pow.f64 re 3) re) 5/2)) (cbrt.f64 (sqrt.f64 (fma.f64 -1/6 (pow.f64 re 3) re))))
(/.f64 1 (/.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))) (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))))
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 6) 1/36 (*.f64 (pow.f64 re 4) 1/6))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2))))
(/.f64 1 (/.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re) (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))))
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(-.f64 (/.f64 1/36 (/.f64 (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re)) (pow.f64 re 6))) (/.f64 (pow.f64 re 2) (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/36 (pow.f64 re 2)) (fma.f64 (pow.f64 re 3) 1/6 re))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))))
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 6) 1/36 (*.f64 (pow.f64 re 4) 1/6))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (-.f64 (*.f64 (pow.f64 re 6) 1/36) (*.f64 -1/6 (pow.f64 re 4)))))
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 6) 1/36 (*.f64 (pow.f64 re 4) 1/6))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2))))
(/.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2))) (-.f64 (*.f64 (pow.f64 re 3) -1/6) re))
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(-.f64 (/.f64 1/36 (/.f64 (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re)) (pow.f64 re 6))) (/.f64 (pow.f64 re 2) (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/36 (pow.f64 re 2)) (fma.f64 (pow.f64 re 3) 1/6 re))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))) (neg.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 6) 1/36 (*.f64 (pow.f64 re 4) 1/6))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))) (neg.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re)))
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(-.f64 (/.f64 1/36 (/.f64 (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re)) (pow.f64 re 6))) (/.f64 (pow.f64 re 2) (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/36 (pow.f64 re 2)) (fma.f64 (pow.f64 re 3) 1/6 re))
(/.f64 (-.f64 (pow.f64 re 2) (*.f64 (pow.f64 re 6) 1/36)) (-.f64 re (*.f64 (pow.f64 re 3) -1/6)))
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(-.f64 (/.f64 1/36 (/.f64 (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re)) (pow.f64 re 6))) (/.f64 (pow.f64 re 2) (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/36 (pow.f64 re 2)) (fma.f64 (pow.f64 re 3) 1/6 re))
(pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 1)
(fma.f64 -1/6 (pow.f64 re 3) re)
(pow.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 3)
(fma.f64 -1/6 (pow.f64 re 3) re)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2) 1/2)
(fma.f64 -1/6 (pow.f64 re 3) re)
(pow.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3) 1/3)
(fma.f64 -1/6 (pow.f64 re 3) re)
(pow.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 2)
(fma.f64 -1/6 (pow.f64 re 3) re)
(pow.f64 (/.f64 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4))) (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3))) -1)
(*.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (/.f64 1 (-.f64 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 4)))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 re re (fma.f64 (pow.f64 re 6) 1/36 (*.f64 (pow.f64 re 4) 1/6))))
(/.f64 (fma.f64 (pow.f64 re 9) -1/216 (pow.f64 re 3)) (fma.f64 (pow.f64 re 4) 1/6 (fma.f64 (pow.f64 re 6) 1/36 (pow.f64 re 2))))
(pow.f64 (/.f64 (-.f64 (*.f64 (pow.f64 re 3) -1/6) re) (fma.f64 (pow.f64 re 6) 1/36 (neg.f64 (pow.f64 re 2)))) -1)
(-.f64 (/.f64 (*.f64 (pow.f64 re 6) 1/36) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)) (/.f64 (pow.f64 re 2) (-.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(-.f64 (/.f64 1/36 (/.f64 (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re)) (pow.f64 re 6))) (/.f64 (pow.f64 re 2) (fma.f64 -1/6 (pow.f64 re 3) (neg.f64 re))))
(/.f64 (fma.f64 (pow.f64 re 6) -1/36 (pow.f64 re 2)) (fma.f64 (pow.f64 re 3) 1/6 re))
(sqrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 2))
(fma.f64 -1/6 (pow.f64 re 3) re)
(log.f64 (exp.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(cbrt.f64 (pow.f64 (fma.f64 (pow.f64 re 3) -1/6 re) 3))
(fma.f64 -1/6 (pow.f64 re 3) re)
(expm1.f64 (log1p.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(exp.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(exp.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1))
(fma.f64 -1/6 (pow.f64 re 3) re)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re)) 1) 1))
(fma.f64 -1/6 (pow.f64 re 3) re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 3))
(fma.f64 -1/6 (pow.f64 re 3) re)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 1/3))
(fma.f64 -1/6 (pow.f64 re 3) re)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (pow.f64 re 3) -1/6 re))) 2))
(fma.f64 -1/6 (pow.f64 re 3) re)
(log1p.f64 (expm1.f64 (fma.f64 (pow.f64 re 3) -1/6 re)))
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 re 1 (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 re (*.f64 (pow.f64 re 2) -1/6) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (pow.f64 re 3) -1/6 re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 (pow.f64 re 3) -1/6) 1 re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 1 re (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 1 (*.f64 (pow.f64 re 3) -1/6) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 re (cbrt.f64 -1/6)) (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/6)) 2) (*.f64 re (cbrt.f64 -1/6)) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) (*.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2))))
(fma.f64 (cbrt.f64 (pow.f64 re 2)) (cbrt.f64 re) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2)) (*.f64 -1/6 (pow.f64 re 3)))
(fma.f64 -1/6 (pow.f64 re 3) (*.f64 (cbrt.f64 re) (cbrt.f64 (pow.f64 re 2))))
(fma.f64 (pow.f64 re 3/2) (*.f64 (pow.f64 re 3/2) -1/6) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) (*.f64 (pow.f64 re 3/2) (sqrt.f64 -1/6)) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (pow.f64 re 3) -1/6))
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 -1/6 re) (pow.f64 re 2) re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
(fma.f64 -1/6 (pow.f64 re 3) re)
(fma.f64 (*.f64 -1/6 (pow.f64 re 3/2)) (pow.f64 re 3/2) re)
(fma.f64 -1/6 (pow.f64 re 3) re)

eval41.0ms (0.7%)

Compiler

Compiled 1414 to 1107 computations (21.7% saved)

prune29.0ms (0.5%)

Pruning

24 alts after pruning (15 fresh and 9 done)

PrunedKeptTotal
New974101
Fresh11112
Picked145
Done156
Total10024124
Accuracy
100.0%
Counts
124 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
38.7%
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
38.7%
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
13.5%
(/.f64 1/4 (pow.f64 re 2))
76.9%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (sin.f64 re)))
42.0%
(+.f64 (cbrt.f64 (*.f64 (pow.f64 re 9) -1/216)) (*.f64 re 1))
38.7%
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
76.9%
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
68.4%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
27.6%
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
50.1%
(sin.f64 re)
31.0%
re
4.6%
8
5.2%
1
5.1%
3/4
5.0%
1/2
5.0%
1/4
4.8%
1/8
4.7%
1/16
3.1%
-1/16
3.1%
-1/12
3.3%
-1/4
3.4%
-1/2
3.6%
-1
3.1%
-2
Compiler

Compiled 315 to 233 computations (26% saved)

regimes92.0ms (1.5%)

Counts
33 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
1
8
re
(sin.f64 re)
(/.f64 1/4 (pow.f64 re 2))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (cbrt.f64 (*.f64 (pow.f64 re 9) -1/216)) (*.f64 re 1))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (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:

23.0ms
re
18.0ms
(sin.f64 re)
18.0ms
im
16.0ms
(*.f64 1/2 (sin.f64 re))
12.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 39 to 30 computations (23.1% saved)

regimes216.0ms (3.6%)

Counts
30 → 3
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
1
8
re
(sin.f64 re)
(/.f64 1/4 (pow.f64 re 2))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (fma.f64 im im 2) (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (cbrt.f64 (*.f64 (pow.f64 re 9) -1/216)) (*.f64 re 1))
(*.f64 (fma.f64 im im 2) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
Calls

4 calls:

89.0ms
(*.f64 1/2 (sin.f64 re))
56.0ms
(sin.f64 re)
42.0ms
im
27.0ms
re
Results
AccuracySegmentsBranch
88.9%2re
93.7%3im
89.8%3(*.f64 1/2 (sin.f64 re))
89.8%3(sin.f64 re)
Compiler

Compiled 16 to 12 computations (25% saved)

regimes81.0ms (1.3%)

Counts
26 → 3
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
1
8
re
(sin.f64 re)
(/.f64 1/4 (pow.f64 re 2))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))
Calls

4 calls:

36.0ms
im
18.0ms
(*.f64 1/2 (sin.f64 re))
13.0ms
re
13.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
76.9%1(*.f64 1/2 (sin.f64 re))
76.9%1(sin.f64 re)
76.9%1re
81.7%3im
Compiler

Compiled 16 to 12 computations (25% saved)

regimes113.0ms (1.9%)

Counts
25 → 3
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
1
8
re
(sin.f64 re)
(/.f64 1/4 (pow.f64 re 2))
(*.f64 re (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1/12 (/.f64 1/4 (pow.f64 re 2)))
(+.f64 re (*.f64 -1/6 (pow.f64 re 3)))
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 (pow.f64 re 3) -1/6) (*.f64 re 1))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(fma.f64 (*.f64 -1/6 (pow.f64 re 2)) re re)
(fma.f64 (pow.f64 re 2) (*.f64 re -1/6) re)
Outputs
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
Calls

3 calls:

53.0ms
re
35.0ms
im
23.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
64.9%2(sin.f64 re)
65.7%3re
76.3%3im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes33.0ms (0.5%)

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

1 calls:

31.0ms
im
Results
AccuracySegmentsBranch
76.3%3im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes28.0ms (0.5%)

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

1 calls:

27.0ms
im
Results
AccuracySegmentsBranch
76.3%3im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes27.0ms (0.4%)

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

1 calls:

26.0ms
im
Results
AccuracySegmentsBranch
76.3%3im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes64.0ms (1.1%)

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

3 calls:

24.0ms
(sin.f64 re)
23.0ms
re
16.0ms
im
Results
AccuracySegmentsBranch
52.0%2re
53.2%3(sin.f64 re)
60.6%2im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes19.0ms (0.3%)

Counts
15 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
1
8
re
(sin.f64 re)
Outputs
(sin.f64 re)
Calls

2 calls:

10.0ms
im
8.0ms
re
Results
AccuracySegmentsBranch
50.1%1re
50.1%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes17.0ms (0.3%)

Counts
14 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
1
8
re
Outputs
re
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

regimes17.0ms (0.3%)

Counts
13 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
1
8
Outputs
1
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

regimes17.0ms (0.3%)

Counts
11 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
3/4
Outputs
3/4
Calls

2 calls:

9.0ms
re
6.0ms
im
Results
AccuracySegmentsBranch
5.1%1re
5.1%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes13.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
1/2
Outputs
1/2
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

regimes15.0ms (0.2%)

Counts
9 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
1/4
Outputs
1/4
Calls

2 calls:

9.0ms
re
6.0ms
im
Results
AccuracySegmentsBranch
5.0%1im
5.0%1re
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes14.0ms (0.2%)

Counts
8 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
1/8
Outputs
1/8
Calls

2 calls:

8.0ms
im
5.0ms
re
Results
AccuracySegmentsBranch
4.8%1re
4.8%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes13.0ms (0.2%)

Counts
7 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
1/16
Outputs
1/16
Calls

2 calls:

8.0ms
im
5.0ms
re
Results
AccuracySegmentsBranch
4.7%1im
4.7%1re
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes10.0ms (0.2%)

Counts
6 → 1
Calls
Call 1
Inputs
-2
-1
-1/2
-1/4
-1/12
-1/16
Outputs
-1
Calls

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

regimes13.0ms (0.2%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

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

2 calls:

10.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
3.1%1im
3.1%1re
Compiler

Compiled 6 to 4 computations (33.3% saved)

bsearch45.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
18.0ms
4.815883506757066e+153
2.5762954856333438e+154
27.0ms
3.313121819413872e-6
2654.5552401668147
Results
25.0ms144×256valid
16.0ms96×256infinite
Compiler

Compiled 394 to 300 computations (23.9% saved)

bsearch48.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
7.265472110937299e+145
9.590137080271342e+146
26.0ms
3.313121819413872e-6
2654.5552401668147
Results
23.0ms136×256valid
21.0ms104×256infinite
Compiler

Compiled 334 to 270 computations (19.2% saved)

bsearch46.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
5.076871687125715e+123
8.708142013610865e+126
25.0ms
3.313121819413872e-6
2654.5552401668147
Results
23.0ms138×256valid
19.0ms134×256infinite
Compiler

Compiled 313 to 267 computations (14.7% saved)

bsearch63.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
20.0ms
5.076871687125715e+123
8.708142013610865e+126
42.0ms
3.313121819413872e-6
2654.5552401668147
Results
20.0ms137×256infinite
39.0ms135×256valid
Compiler

Compiled 330 to 284 computations (13.9% saved)

bsearch47.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
5.076871687125715e+123
8.708142013610865e+126
24.0ms
3.313121819413872e-6
2654.5552401668147
Results
22.0ms139×256valid
21.0ms133×256infinite
Compiler

Compiled 314 to 268 computations (14.6% saved)

bsearch46.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
5.076871687125715e+123
8.708142013610865e+126
24.0ms
3.313121819413872e-6
2654.5552401668147
Results
30.0ms185×256infinite
12.0ms87×256valid
Compiler

Compiled 280 to 234 computations (16.4% saved)

bsearch24.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
24.0ms
3.313121819413872e-6
2654.5552401668147
Results
22.0ms139×256valid
1.0ms256infinite
Compiler

Compiled 136 to 114 computations (16.2% saved)

simplify17.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
079610
1106610
2108610
3109610
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 1261007895663739/18014398509481984) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(if (<=.f64 im 580) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 949999999999999925861305158255131861741030359447203920754048735505122498994444170004850637084085525903771257795280324125485260232446009959291813888) (pow.f64 (*.f64 (sin.f64 re) -2) -2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(if (<=.f64 im 480) (sin.f64 re) (if (<=.f64 im 154999999999999999627507448258296210463930849413217692926356260454855980391244582478093662083357264957242351301006382057127936) (pow.f64 (*.f64 (sin.f64 re) -2) -2) (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(if (<=.f64 im 580) (sin.f64 re) (if (<=.f64 im 26000000000000000301162681556694831880062815533469346278075122229844725078369951362602914947857364722690819968132998750011392) (+.f64 1/12 (/.f64 1/4 (pow.f64 re 2))) (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(if (<=.f64 im 600) (sin.f64 re) (if (<=.f64 im 8499999999999999436529336410202160654093081490854911798255262328981236562427551815157578500651420247726373444828670521426051072) (+.f64 1/12 (/.f64 1/4 (pow.f64 re 2))) (*.f64 re (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 750) (sin.f64 re) (if (<=.f64 im 750000000000000056380865187388656470603571798264306160112181826768324443931811403498405825823318526571199466279139394745008128) (/.f64 1/4 (pow.f64 re 2)) (*.f64 re (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 580) (sin.f64 re) (/.f64 1/4 (pow.f64 re 2)))
(sin.f64 re)
re
1
3/4
1/2
1/4
1/8
1/16
-1
-2
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 1261007895663739/18014398509481984) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(if (or (<=.f64 im 1261007895663739/18014398509481984) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 580) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (if (<=.f64 im 949999999999999925861305158255131861741030359447203920754048735505122498994444170004850637084085525903771257795280324125485260232446009959291813888) (pow.f64 (*.f64 (sin.f64 re) -2) -2) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2))))
(if (or (<=.f64 im 580) (not (<=.f64 im 949999999999999925861305158255131861741030359447203920754048735505122498994444170004850637084085525903771257795280324125485260232446009959291813888))) (*.f64 (*.f64 1/2 (sin.f64 re)) (fma.f64 im im 2)) (pow.f64 (*.f64 (sin.f64 re) -2) -2))
(if (<=.f64 im 480) (sin.f64 re) (if (<=.f64 im 154999999999999999627507448258296210463930849413217692926356260454855980391244582478093662083357264957242351301006382057127936) (pow.f64 (*.f64 (sin.f64 re) -2) -2) (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(if (<=.f64 im 580) (sin.f64 re) (if (<=.f64 im 26000000000000000301162681556694831880062815533469346278075122229844725078369951362602914947857364722690819968132998750011392) (+.f64 1/12 (/.f64 1/4 (pow.f64 re 2))) (*.f64 re (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))))
(if (<=.f64 im 600) (sin.f64 re) (if (<=.f64 im 8499999999999999436529336410202160654093081490854911798255262328981236562427551815157578500651420247726373444828670521426051072) (+.f64 1/12 (/.f64 1/4 (pow.f64 re 2))) (*.f64 re (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 750) (sin.f64 re) (if (<=.f64 im 750000000000000056380865187388656470603571798264306160112181826768324443931811403498405825823318526571199466279139394745008128) (/.f64 1/4 (pow.f64 re 2)) (*.f64 re (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 580) (sin.f64 re) (/.f64 1/4 (pow.f64 re 2)))
(sin.f64 re)
re
1
3/4
1/2
1/4
1/8
1/16
-1
-2
Compiler

Compiled 218 to 170 computations (22% saved)

soundness1.2s (19.9%)

Rules
2266×fma-def
1624×unswap-sqr
1530×div-sub
1512×distribute-lft-out
1092×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
036316
1111308
2397308
31003298
42231294
55114294
67594294
01121901
13261772
29881772
346611772
034261
1497261
034261
1497261
034261
1497261
034261
1497261
034261
1497261
034261
1497261
034261
1497261
034261
1497261
01669
120269
2329669
01121901
13261772
29881772
346611772
0903404
12183327
25903263
319283258
435453258
569743258
03197604
18216953
229526461
01121901
13261772
29881772
346611772
Stop Event
node limit
node limit
node limit
node limit
unsound
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
Compiler

Compiled 150 to 98 computations (34.7% saved)

end1.0ms (0%)

preprocess310.0ms (5.1%)

Remove

(negabs re)

(abs im)

Compiler

Compiled 1020 to 750 computations (26.5% saved)

Profiling

Loading profile data...