math.cos on complex, real part

Time bar (total: 5.6s)

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 14 to 11 computations (21.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-exp, time spent: 0.0ms, 0.0% of total-time
Operation ival-neg, time spent: 0.0ms, 0.0% of total-time
Operation ival-cos, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

sample2.0s (36.1%)

Results
953.0ms4200×256valid
851.0ms4055×256infinite
0.0ms256valid
Precisions
Click to see histograms. Total time spent on operations: 794.0ms
Operation ival-cos, time spent: 312.0ms, 39.0% of total-time
Operation ival-exp, time spent: 170.0ms, 21.0% of total-time
Operation ival-mult, time spent: 131.0ms, 17.0% of total-time
Operation ival-add, time spent: 124.0ms, 16.0% of total-time
Operation ival-neg, time spent: 43.0ms, 5.0% of total-time
Operation const, time spent: 14.0ms, 2.0% of total-time
Bogosity

preprocess262.0ms (4.7%)

Algorithm
egg-herbie
Rules
1164×times-frac
864×div-sub
828×fma-def
812×fma-neg
784×distribute-neg-frac
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-re
00-0-(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
00-0-im
00-0-1/2
00-0-(cos.f64 re)
00-0-(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
00-0-(*.f64 1/2 (cos.f64 re))
00-0-(neg.f64 im)
00-0-(exp.f64 (neg.f64 im))
00-0-(exp.f64 im)
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
1100308
2280308
3690298
41413294
54012294
66076294
77976294
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (neg.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) -1/2))
(*.f64 (cos.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (cos.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(abs im)

Compiler

Compiled 85 to 38 computations (55.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
Operation ival-cos, time spent: 14.0ms, 36.0% of total-time
Operation ival-mult, time spent: 11.0ms, 29.0% of total-time
Operation ival-exp, time spent: 7.0ms, 18.0% of total-time
Operation ival-add, time spent: 3.0ms, 8.0% of total-time
Operation ival-neg, time spent: 2.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 3.0% of total-time

eval1.0ms (0%)

Compiler

Compiled 35 to 18 computations (48.6% saved)

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize58.0ms (1%)

Localize:

Found 1 expressions with local error:

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

Compiled 36 to 14 computations (61.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
Operation ival-cos, time spent: 8.0ms, 38.0% of total-time
Operation ival-mult, time spent: 6.0ms, 29.0% of total-time
Operation ival-exp, time spent: 3.0ms, 14.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time
Operation ival-neg, time spent: 1.0ms, 5.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time

series6.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite258.0ms (4.6%)

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

simplify67.0ms (1.2%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0961302
12861140
28751140
342501140
Stop Event
node limit
Counts
46 → 45
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 (cos.f64 re) (cos.f64 re))
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(fabs.f64 (*.f64 (cos.f64 re) -2))
(log.f64 (pow.f64 1 (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
Outputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 4)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/4 (pow.f64 re 2)) (*.f64 -1/1440 (pow.f64 re 6)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(+.f64 (cos.f64 re) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (*.f64 (pow.f64 im 6) (cos.f64 re))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re))) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (cos.f64 re) (fma.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6)) (fma.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(+.f64 (*.f64 (cos.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) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im)))
(+.f64 (cos.f64 re) (cos.f64 re))
(cos.f64 re)
(+.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 re) -2))) 1)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) 1)
(cos.f64 re)
(/.f64 (*.f64 (cos.f64 re) -2) (+.f64 (*.f64 (cos.f64 re) -2) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))))
(cos.f64 re)
(/.f64 (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)) (-.f64 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) 1)
(cos.f64 re)
(pow.f64 (*.f64 (cos.f64 re) -2) 1/3)
(cos.f64 re)
(sqrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fabs.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(log.f64 (pow.f64 1 (cos.f64 re)))
(cos.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 re) -2))))
(cos.f64 re)
(cbrt.f64 (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (log.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1))
(cos.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -2))
(cos.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 re) -2)))
(cos.f64 re)
(fma.f64 1 (*.f64 (cos.f64 re) -2) (*.f64 (cos.f64 re) -2))
(cos.f64 re)
(fma.f64 (*.f64 (cos.f64 re) -2) 1 (*.f64 (cos.f64 re) -2))
(cos.f64 re)

eval13.0ms (0.2%)

Compiler

Compiled 655 to 351 computations (46.4% saved)

prune12.0ms (0.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New39645
Fresh000
Picked011
Done000
Total39746
Accuracy
100.0%
Counts
46 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
7.9%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
76.7%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.8%
(+.f64 (cos.f64 re) (cos.f64 re))
76.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
68.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.9%
(cos.f64 re)
Compiler

Compiled 121 to 92 computations (24% saved)

localize279.0ms (5%)

Localize:

Found 2 expressions with local error:

NewAccuracyProgram
99.7%
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
99.9%
(*.f64 (pow.f64 im 2) (cos.f64 re))
Compiler

Compiled 85 to 37 computations (56.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 155.0ms
Operation ival-mult, time spent: 122.0ms, 79.0% of total-time
Operation ival-pow, time spent: 14.0ms, 9.0% of total-time
Operation ival-cos, time spent: 9.0ms, 6.0% of total-time
Operation ival-exp, time spent: 4.0ms, 3.0% of total-time
Operation ival-add, time spent: 4.0ms, 3.0% of total-time
Operation const, time spent: 2.0ms, 1.0% of total-time
Operation ival-neg, time spent: 1.0ms, 1.0% of total-time

series8.0ms (0.1%)

Counts
2 → 16
Calls

9 calls:

TimeVariablePointExpression
2.0ms
re
@inf
(*.f64 (pow.f64 im 2) (cos.f64 re))
2.0ms
re
@inf
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
1.0ms
re
@-inf
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
1.0ms
im
@0
(*.f64 (pow.f64 im 2) (cos.f64 re))
0.0ms
re
@0
(*.f64 (pow.f64 im 2) (cos.f64 re))

rewrite85.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
1174×unpow-prod-down
730×log-prod
594×log1p-expm1-u
594×expm1-log1p-u
478×pow-prod-down
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01543
115743
2174143
Stop Event
node limit
Counts
2 → 70
Calls
Call 1
Inputs
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
Outputs
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) (log.f64 (exp.f64 1)))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 (pow.f64 (cos.f64 re) -2) (pow.f64 (cbrt.f64 1/4) 3))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 4) -1))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) -4) (pow.f64 (*.f64 (cbrt.f64 (cos.f64 re)) -2) -2))
(*.f64 (pow.f64 (cos.f64 re) -1) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) -2) -2))
(*.f64 (pow.f64 (cos.f64 re) -1) (pow.f64 (*.f64 -2 (*.f64 (cos.f64 re) -2)) -1))
(*.f64 -1/2 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) -2)) -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -1/2) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2) -1))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 (pow.f64 (*.f64 -2 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) -2) (pow.f64 (cbrt.f64 (cos.f64 re)) -2))
(*.f64 (pow.f64 (*.f64 -2 (sqrt.f64 (cos.f64 re))) -2) (pow.f64 (cos.f64 re) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 2) 3) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3) (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16) (pow.f64 (cos.f64 re) -2)) 1/3) (cbrt.f64 1/4))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -5) 1/3) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 4) -1) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2) -1) (pow.f64 (*.f64 (cos.f64 re) -2) -1/2))
(*.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) -2) (cos.f64 re)) -1) -1/2)
(*.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) -2) -2) -1) (pow.f64 (cos.f64 re) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 5) -1) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -1))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))

simplify88.0ms (1.6%)

Algorithm
egg-herbie
Rules
1134×associate-*r*
1044×associate-*l*
624×associate-/r*
558×sqr-pow
478×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02392517
15652430
214052358
349062323
Stop Event
node limit
Counts
86 → 115
Calls
Call 1
Inputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) (log.f64 (exp.f64 1)))
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(*.f64 (pow.f64 (cos.f64 re) -2) (pow.f64 (cbrt.f64 1/4) 3))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 4) -1))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) -4) (pow.f64 (*.f64 (cbrt.f64 (cos.f64 re)) -2) -2))
(*.f64 (pow.f64 (cos.f64 re) -1) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) -2) -2))
(*.f64 (pow.f64 (cos.f64 re) -1) (pow.f64 (*.f64 -2 (*.f64 (cos.f64 re) -2)) -1))
(*.f64 -1/2 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) -2)) -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -1/2) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2) -1))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(*.f64 (pow.f64 (*.f64 -2 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) -2) (pow.f64 (cbrt.f64 (cos.f64 re)) -2))
(*.f64 (pow.f64 (*.f64 -2 (sqrt.f64 (cos.f64 re))) -2) (pow.f64 (cos.f64 re) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 2) 3) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3) (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16) (pow.f64 (cos.f64 re) -2)) 1/3) (cbrt.f64 1/4))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -5) 1/3) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 4) -1) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2) -1) (pow.f64 (*.f64 (cos.f64 re) -2) -1/2))
(*.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) -2) (cos.f64 re)) -1) -1/2)
(*.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) -2) -2) -1) (pow.f64 (cos.f64 re) -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 5) -1) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -1))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
Outputs
(pow.f64 im 2)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (pow.f64 im 2))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2)))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2)))
(fma.f64 im im (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4)))))
(*.f64 (pow.f64 im 2) (+.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (*.f64 1/24 (pow.f64 re 4))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (pow.f64 im 2))))
(fma.f64 -1/2 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/720 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/24 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (pow.f64 im 2))))
(+.f64 (*.f64 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) 1) (pow.f64 im 2)) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6)))))
(+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/720 (pow.f64 re 6))))))
1/4
(+.f64 1/4 (*.f64 1/4 (pow.f64 re 2)))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(fma.f64 (pow.f64 re 2) 1/4 1/4)
(+.f64 1/4 (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2))))
(+.f64 1/4 (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4)))
(+.f64 1/4 (fma.f64 (pow.f64 re 2) 1/4 (*.f64 (pow.f64 re 4) 1/6)))
(fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 1/4))
(+.f64 1/4 (+.f64 (*.f64 17/180 (pow.f64 re 6)) (+.f64 (*.f64 1/6 (pow.f64 re 4)) (*.f64 1/4 (pow.f64 re 2)))))
(+.f64 1/4 (fma.f64 17/180 (pow.f64 re 6) (fma.f64 1/6 (pow.f64 re 4) (*.f64 (pow.f64 re 2) 1/4))))
(+.f64 (fma.f64 (pow.f64 re 6) 17/180 (*.f64 (pow.f64 re 4) 1/6)) (fma.f64 (pow.f64 re 2) 1/4 1/4))
(fma.f64 (pow.f64 re 6) 17/180 (fma.f64 (pow.f64 re 2) 1/4 (fma.f64 (pow.f64 re 4) 1/6 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(+.f64 0 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4) 1/2)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6) 1/3)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 2)
(*.f64 (pow.f64 im 2) (cos.f64 re))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 4))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1) 1))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (cos.f64 re))) 6)) 1/3))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (cos.f64 re)))) 2))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (pow.f64 im 2) (cos.f64 re))
(+.f64 0 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4)) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))) 1)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) 1)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4) (log.f64 (exp.f64 1)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (cos.f64 re) -2) 1/4)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (cos.f64 re) -2) (pow.f64 (cbrt.f64 1/4) 3))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 1 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 4) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16)))
(*.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2) (*.f64 (pow.f64 (cos.f64 re) -1) -1/2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) -4) (pow.f64 (*.f64 (cbrt.f64 (cos.f64 re)) -2) -2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) -4) (pow.f64 (*.f64 -2 (cbrt.f64 (cos.f64 re))) -2))
(*.f64 (pow.f64 (cos.f64 re) -1) (pow.f64 (*.f64 (sqrt.f64 (cos.f64 re)) -2) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (cos.f64 re) -1) (pow.f64 (*.f64 -2 (*.f64 (cos.f64 re) -2)) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 -1/2 (pow.f64 (*.f64 (cos.f64 re) (*.f64 (cos.f64 re) -2)) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -1/2) (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2) -1))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -1/2) (/.f64 1 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2)))
(/.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -1/2) (pow.f64 (*.f64 (cos.f64 re) -2) 3/2))
(*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (*.f64 -2 (pow.f64 (cbrt.f64 (cos.f64 re)) 2)) -2) (pow.f64 (cbrt.f64 (cos.f64 re)) -2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) -4) (pow.f64 (*.f64 -2 (cbrt.f64 (cos.f64 re))) -2))
(*.f64 (pow.f64 (*.f64 -2 (sqrt.f64 (cos.f64 re))) -2) (pow.f64 (cos.f64 re) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 2) 3) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3) (pow.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3) (pow.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))) (cbrt.f64 (sqrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))))
(*.f64 (cbrt.f64 (fabs.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -3))) (cbrt.f64 (fabs.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -3))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -3)) (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -3)))
(pow.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -3) 1/6) 4)
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16) (pow.f64 (cos.f64 re) -2)) 1/3) (cbrt.f64 1/4))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -2) (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))))
(*.f64 (cbrt.f64 1/4) (cbrt.f64 (*.f64 1/16 (pow.f64 (pow.f64 (cos.f64 re) -2) 3))))
(*.f64 (pow.f64 (*.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) (*.f64 1/16 (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) (cbrt.f64 (*.f64 1/16 (*.f64 (pow.f64 (cos.f64 re) -4) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))))))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -5) 1/3) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) -1) -1/2)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -5)) (cbrt.f64 (*.f64 -1/2 (/.f64 1 (cos.f64 re)))))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -5)) (cbrt.f64 (/.f64 -1/2 (cos.f64 re))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 4) -1) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2) -1) (pow.f64 (*.f64 (cos.f64 re) -2) -1/2))
(*.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -1/2) (/.f64 1 (pow.f64 (*.f64 (cos.f64 re) -2) 3/2)))
(/.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -1/2) (pow.f64 (*.f64 (cos.f64 re) -2) 3/2))
(*.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) -2) (cos.f64 re)) -1) -1/2)
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (*.f64 (*.f64 (cos.f64 re) -2) -2) -1) (pow.f64 (cos.f64 re) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 5) -1) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -1))
(*.f64 (/.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) -2))) (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 5)))
(/.f64 (/.f64 1 (cbrt.f64 (*.f64 (cos.f64 re) -2))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) 5))
(sqrt.f64 (*.f64 (pow.f64 (cos.f64 re) -4) 1/16))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (cos.f64 re) -2)) 1/4))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) 1) -2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (*.f64 (*.f64 -2 (log.f64 (*.f64 (cos.f64 re) -2))) 1) 1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 re) -2)) -2)) 3))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (cos.f64 re) -2) -6)) 1/3))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (cos.f64 re) -2))) -1))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (neg.f64 (log.f64 (*.f64 (cos.f64 re) -2))) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 re) -2)) -1) 2))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cos.f64 re) -2) 1/4)))
(/.f64 1/4 (pow.f64 (cos.f64 re) 2))
(*.f64 1/4 (pow.f64 (cos.f64 re) -2))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)

eval40.0ms (0.7%)

Compiler

Compiled 1661 to 1203 computations (27.6% saved)

prune22.0ms (0.4%)

Pruning

9 alts after pruning (4 fresh and 5 done)

PrunedKeptTotal
New1123115
Fresh011
Picked145
Done011
Total1139122
Accuracy
100.0%
Counts
122 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.2%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
76.7%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.8%
(+.f64 (cos.f64 re) (cos.f64 re))
13.4%
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
76.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
68.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.9%
(cos.f64 re)
8.0%
1/4
Compiler

Compiled 81 to 63 computations (22.2% saved)

localize139.0ms (2.5%)

Localize:

Found 4 expressions with local error:

NewAccuracyProgram
100.0%
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
100.0%
(pow.f64 re 2)
100.0%
(*.f64 (pow.f64 re 2) 1/4)
100.0%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
Compiler

Compiled 76 to 54 computations (28.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 57.0ms
Operation ival-pow, time spent: 25.0ms, 44.0% of total-time
Operation ival-mult, time spent: 14.0ms, 24.0% of total-time
Operation ival-cos, time spent: 7.0ms, 12.0% of total-time
Operation const, time spent: 6.0ms, 10.0% of total-time
Operation ival-add, time spent: 6.0ms, 10.0% of total-time

series8.0ms (0.2%)

Counts
4 → 43
Calls

18 calls:

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

rewrite124.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
1046×log1p-expm1-u
1046×expm1-log1p-u
860×fma-def
374×log1p-udef
372×expm1-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02086
123882
2296682
Stop Event
node limit
Counts
4 → 126
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 re 2)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))) (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cos.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (sqrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1/2 (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4)))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 re) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3) 1/3)
(pow.f64 (*.f64 1/2 re) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2))))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2)))
(exp.f64 (log.f64 (pow.f64 (*.f64 1/2 re) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 re) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2)))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re 2))) 1)
(*.f64 1 (pow.f64 re 2))
(*.f64 re re)
(*.f64 (pow.f64 re 2) 1)
(*.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 re 4)))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) re))
(*.f64 (cbrt.f64 (pow.f64 re 4)) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) re))
(*.f64 (*.f64 re (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 (*.f64 re (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(sqrt.f64 (pow.f64 re 4))
(log.f64 (exp.f64 (pow.f64 re 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re 2))))
(cbrt.f64 (pow.f64 (pow.f64 re 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 re 2)))
(exp.f64 (*.f64 2 (log.f64 re)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 re)) 1))
(log1p.f64 (expm1.f64 (pow.f64 re 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (/.f64 1 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) (neg.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 (cos.f64 re))
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) 1) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))

simplify92.0ms (1.6%)

Algorithm
egg-herbie
Rules
1660×fma-def
1324×unswap-sqr
1040×distribute-lft-in
1022×distribute-rgt-in
408×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03205413
17625313
223105223
Stop Event
node limit
Counts
169 → 177
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (pow.f64 (cos.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))) (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cos.f64 re))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (sqrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cos.f64 re))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1/2 (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4)))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 re) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3) 1/3)
(pow.f64 (*.f64 1/2 re) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2))))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2)))
(exp.f64 (log.f64 (pow.f64 (*.f64 1/2 re) 2)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 re) 2)) 1))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2)))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re 2))) 1)
(*.f64 1 (pow.f64 re 2))
(*.f64 re re)
(*.f64 (pow.f64 re 2) 1)
(*.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 re 4)))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) re))
(*.f64 (cbrt.f64 (pow.f64 re 4)) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) re))
(*.f64 (*.f64 re (sqrt.f64 re)) (sqrt.f64 re))
(*.f64 (*.f64 re (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(sqrt.f64 (pow.f64 re 4))
(log.f64 (exp.f64 (pow.f64 re 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re 2))))
(cbrt.f64 (pow.f64 (pow.f64 re 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 re 2)))
(exp.f64 (*.f64 2 (log.f64 re)))
(exp.f64 (*.f64 (*.f64 2 (log.f64 re)) 1))
(log1p.f64 (expm1.f64 (pow.f64 re 2)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1)
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (/.f64 1 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) (neg.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 (cos.f64 re))
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) 1) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (*.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)))))
(fma.f64 (pow.f64 re 2) (*.f64 -1/2 (fma.f64 1/2 (pow.f64 im 2) 1)) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 re 2) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 re 6) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (+.f64 (*.f64 1/24 (*.f64 (pow.f64 re 4) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (*.f64 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)) (fma.f64 -1/720 (*.f64 (pow.f64 re 6) (fma.f64 1/2 (pow.f64 im 2) 1)) (fma.f64 1/24 (*.f64 (pow.f64 re 4) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (+.f64 (fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 re 4) (*.f64 1/24 (fma.f64 1/2 (pow.f64 im 2) 1)))) (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 -1/720 (pow.f64 re 6))))))
(+.f64 (fma.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4))) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 (pow.f64 re 6) (*.f64 -1/720 (fma.f64 1/2 (pow.f64 im 2) 1))))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 (cos.f64 re) (+.f64 1 (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/2 (pow.f64 im 2) 1)) (*.f64 1/24 (pow.f64 re 4)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/24 (pow.f64 re 4) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/2 (pow.f64 im 2) (*.f64 1/24 (pow.f64 re 4))))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 -1/720 (pow.f64 re 6) (*.f64 1/24 (pow.f64 re 4)))) (fma.f64 -1/2 (pow.f64 re 2) 1))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(+.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (pow.f64 im 2) -1/2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 2) -1/2 (fma.f64 1/4 (pow.f64 im 4) 1))) (cos.f64 re))
(/.f64 (*.f64 (cos.f64 re) (fma.f64 1/4 (pow.f64 im 4) -1)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1)) (cos.f64 re))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(/.f64 (*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1) (cos.f64 re)) (-.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 1/2 (pow.f64 im 2))))
(/.f64 (cos.f64 re) (/.f64 (+.f64 (fma.f64 1/4 (pow.f64 im 4) 1) (*.f64 (pow.f64 im 2) -1/2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 1)))
(*.f64 (/.f64 (fma.f64 (pow.f64 im 6) 1/8 1) (fma.f64 (pow.f64 im 2) -1/2 (fma.f64 1/4 (pow.f64 im 4) 1))) (cos.f64 re))
(/.f64 (*.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) -1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (/.f64 (fma.f64 1/2 (pow.f64 im 2) -1) (cos.f64 re)))
(*.f64 (/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (pow.f64 im 2) -1)) (cos.f64 re))
(*.f64 (/.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) -1)) (fma.f64 1/4 (pow.f64 im 4) -1))
(pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 1)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (cbrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3) 1/3)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(pow.f64 (sqrt.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 2)
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(sqrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 2))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (fma.f64 1/2 (pow.f64 im 2) 1)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (exp.f64 (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log.f64 (*.f64 (exp.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (pow.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re)) 3))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (fma.f64 1/2 (pow.f64 im 2) 1) 3)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(expm1.f64 (log1p.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))) 1))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(log1p.f64 (expm1.f64 (*.f64 (fma.f64 1/2 (pow.f64 im 2) 1) (cos.f64 re))))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (cos.f64 re) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cos.f64 re) 1 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (cos.f64 re)) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))) (cbrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (sqrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (sqrt.f64 (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (*.f64 (sqrt.f64 (cos.f64 re)) (*.f64 im (sqrt.f64 1/2))) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cos.f64 re) 1/2) (pow.f64 im 2) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cos.f64 re) (pow.f64 im 2)) 1/2 (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(fma.f64 (*.f64 (cos.f64 re) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4)))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (cos.f64 re) (*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2)))) (cos.f64 re))
(fma.f64 (*.f64 (cos.f64 re) (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(*.f64 (cos.f64 re) (fma.f64 1/2 (pow.f64 im 2) 1))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2))) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(pow.f64 (pow.f64 (*.f64 1/2 re) 2) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2)) 3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(pow.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3) 1/3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2))))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(exp.f64 (log.f64 (pow.f64 (*.f64 1/2 re) 2)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 1/2 re) 2)) 1))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2)))
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 re 1/2) 2)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 re 2))) 1)
(pow.f64 re 2)
(*.f64 1 (pow.f64 re 2))
(pow.f64 re 2)
(*.f64 re re)
(pow.f64 re 2)
(*.f64 (pow.f64 re 2) 1)
(pow.f64 re 2)
(*.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 re 4)))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) re))
(pow.f64 re 2)
(*.f64 (cbrt.f64 (pow.f64 re 4)) (pow.f64 (cbrt.f64 re) 2))
(*.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 (pow.f64 re 4)))
(*.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) re))
(pow.f64 re 2)
(*.f64 (*.f64 re (sqrt.f64 re)) (sqrt.f64 re))
(pow.f64 re 2)
(*.f64 (*.f64 re (pow.f64 (cbrt.f64 re) 2)) (cbrt.f64 re))
(pow.f64 re 2)
(sqrt.f64 (pow.f64 re 4))
(pow.f64 re 2)
(log.f64 (exp.f64 (pow.f64 re 2)))
(pow.f64 re 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 re 2))))
(pow.f64 re 2)
(cbrt.f64 (pow.f64 (pow.f64 re 2) 3))
(pow.f64 re 2)
(expm1.f64 (log1p.f64 (pow.f64 re 2)))
(pow.f64 re 2)
(exp.f64 (*.f64 2 (log.f64 re)))
(pow.f64 re 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 re)) 1))
(pow.f64 re 2)
(log1p.f64 (expm1.f64 (pow.f64 re 2)))
(pow.f64 re 2)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(-.f64 (/.f64 (pow.f64 (cos.f64 re) 2) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (pow.f64 (cos.f64 re) 2)))
(*.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (/.f64 1 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (pow.f64 (cos.f64 re) 2)))
(/.f64 1 (/.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(*.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 (pow.f64 im 2) 3) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 (*.f64 1/2 (pow.f64 im 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)) (pow.f64 (cos.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) 1/8 (pow.f64 (cos.f64 re) 3)) (fma.f64 1/2 (*.f64 (pow.f64 im 2) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))) (pow.f64 (cos.f64 re) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/4 (pow.f64 im 4)))) (neg.f64 (+.f64 (cos.f64 re) (*.f64 -1/2 (pow.f64 im 2)))))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/4 (pow.f64 im 4))) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)))
(/.f64 (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 (pow.f64 (cos.f64 re) 2)) (fma.f64 (pow.f64 im 2) -1/2 (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 3)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 2))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (exp.f64 (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 im (*.f64 im 1/2) (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (pow.f64 im 2) 1/2 (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 1/2 (pow.f64 im 2)) 1 (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 1 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 1 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (cos.f64 re) 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (pow.f64 (cbrt.f64 im) 2) 1/2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (cos.f64 re)) (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 re)) 2) (cbrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) 1) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cos.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (pow.f64 im 2))) (cos.f64 re))
(fma.f64 (sqrt.f64 (cos.f64 re)) (sqrt.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) 1) (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(fma.f64 (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2) (cos.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 (cbrt.f64 im) 2)) (cos.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 im) 2) (*.f64 1/2 (cbrt.f64 (pow.f64 im 4))) (cos.f64 re))

eval65.0ms (1.2%)

Compiler

Compiled 2634 to 1914 computations (27.3% saved)

prune31.0ms (0.6%)

Pruning

13 alts after pruning (6 fresh and 7 done)

PrunedKeptTotal
New1716177
Fresh000
Picked224
Done055
Total17313186
Accuracy
100.0%
Counts
186 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.2%
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
76.7%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.8%
(+.f64 (cos.f64 re) (cos.f64 re))
47.4%
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
49.3%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
13.4%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
76.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
30.0%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
21.4%
(*.f64 1/2 (pow.f64 im 2))
68.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.9%
(cos.f64 re)
8.0%
1/4
Compiler

Compiled 180 to 143 computations (20.6% saved)

localize191.0ms (3.4%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
99.9%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
100.0%
(*.f64 (*.f64 re re) 1/4)
100.0%
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
Compiler

Compiled 87 to 54 computations (37.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.0ms
Operation ival-mult, time spent: 20.0ms, 40.0% of total-time
Operation ival-pow, time spent: 12.0ms, 24.0% of total-time
Operation ival-cos, time spent: 9.0ms, 18.0% of total-time
Operation const, time spent: 4.0ms, 8.0% of total-time
Operation ival-fma, time spent: 3.0ms, 6.0% of total-time
Operation ival-add, time spent: 3.0ms, 6.0% of total-time

series27.0ms (0.5%)

Counts
3 → 60
Calls

15 calls:

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

rewrite108.0ms (1.9%)

Algorithm
batch-egg-rewrite
Rules
1080×log-prod
850×log1p-expm1-u
850×expm1-log1p-u
722×prod-diff
446×pow-exp
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02073
121473
2247170
Stop Event
node limit
Counts
3 → 79
Calls
Call 1
Inputs
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 (*.f64 re re) 1/4)
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(+.f64 0 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(+.f64 0 (pow.f64 (*.f64 1/2 re) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 re) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3) 1/3)
(pow.f64 (*.f64 1/2 re) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2))))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2)))
(exp.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2))) 3))
(exp.f64 (*.f64 (*.f64 3 (*.f64 2 (log.f64 (*.f64 1/2 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 re)) 2))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2)))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) im) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) im)) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))

simplify175.0ms (3.1%)

Algorithm
egg-herbie
Rules
1796×fma-def
1392×unswap-sqr
870×distribute-lft-in
836×distribute-rgt-in
570×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02404002
15403897
217763726
379303726
Stop Event
node limit
Counts
139 → 125
Calls
Call 1
Inputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(+.f64 0 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) (log.f64 (exp.f64 1)))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (exp.f64 (cos.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(+.f64 0 (pow.f64 (*.f64 1/2 re) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2))) 1)
(pow.f64 (pow.f64 (*.f64 1/2 re) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2)) 3)
(pow.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3) 1/3)
(pow.f64 (*.f64 1/2 re) 2)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(log.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2))))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2)))
(exp.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2))) 3))
(exp.f64 (*.f64 (*.f64 3 (*.f64 2 (log.f64 (*.f64 1/2 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 re)) 2))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2)))
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1)
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) im) 2)
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) im)) 2))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
Outputs
(cos.f64 re)
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(fma.f64 1/2 (pow.f64 im 2) 1)
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 1/2 (pow.f64 im 2) (fma.f64 -1/2 (pow.f64 re 2) 1))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 1/24 (pow.f64 re 4) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 1 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 -1/2 (pow.f64 re 2) (*.f64 1/24 (pow.f64 re 4)))))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 1 (fma.f64 -1/2 (pow.f64 re 2) (fma.f64 -1/720 (pow.f64 re 6) (fma.f64 1/24 (pow.f64 re 4) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (fma.f64 1/2 (pow.f64 im 2) (fma.f64 -1/2 (pow.f64 re 2) 1)) (fma.f64 1/24 (pow.f64 re 4) (*.f64 -1/720 (pow.f64 re 6))))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/4 (pow.f64 re 2))
(*.f64 (pow.f64 re 2) 1/4)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (*.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2))))
(fma.f64 (pow.f64 im 2) (*.f64 (pow.f64 re 2) -1/4) (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 4) 1/48))))
(+.f64 (*.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2))) (+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6))) (+.f64 (*.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 -1/1440 (*.f64 (pow.f64 im 2) (pow.f64 re 6)) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(fma.f64 -1/4 (*.f64 (pow.f64 im 2) (pow.f64 re 2)) (fma.f64 (*.f64 (pow.f64 im 2) -1/1440) (pow.f64 re 6) (fma.f64 1/48 (*.f64 (pow.f64 im 2) (pow.f64 re 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4))) (*.f64 (pow.f64 im 2) (+.f64 (*.f64 (pow.f64 re 4) 1/48) (*.f64 (pow.f64 re 6) -1/1440))))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 0 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) (log.f64 (exp.f64 1)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 1 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(*.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(/.f64 (+.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (-.f64 (pow.f64 (cos.f64 re) 2) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(/.f64 (+.f64 (*.f64 1/8 (pow.f64 (pow.f64 im 2) 3)) (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (+.f64 (pow.f64 (cos.f64 re) 2) (*.f64 -1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))))
(/.f64 (fma.f64 1/8 (pow.f64 (pow.f64 im 2) 3) (pow.f64 (cos.f64 re) 3)) (fma.f64 1/4 (pow.f64 im 4) (*.f64 (cos.f64 re) (-.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) (pow.f64 (cos.f64 re) 3)) (fma.f64 (cos.f64 re) (+.f64 (cos.f64 re) (*.f64 (pow.f64 im 2) -1/2)) (*.f64 1/4 (pow.f64 im 4))))
(/.f64 (-.f64 (*.f64 1/4 (pow.f64 im 4)) (pow.f64 (cos.f64 re) 2)) (-.f64 (*.f64 1/2 (pow.f64 im 2)) (cos.f64 re)))
(pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 1)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 3)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3) 1/3)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 2)
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 2))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (exp.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (exp.f64 (cos.f64 re)) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (pow.f64 (exp.f64 1/2) (pow.f64 im 2))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (cos.f64 re))) (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2))))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (pow.f64 (exp.f64 1/2) (pow.f64 im 2)) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (exp.f64 (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (pow.f64 im 2)))) (+.f64 1 (expm1.f64 (cos.f64 re)))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)) 3))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))) 1) 1))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 3))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 1/3))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re)))) 2))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))))
(fma.f64 1/2 (pow.f64 im 2) (cos.f64 re))
(+.f64 0 (pow.f64 (*.f64 1/2 re) 2))
(*.f64 (pow.f64 re 2) 1/4)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 re 1/2) 2))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 re 1/2) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 re 1/2) 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 re 2) 1/4))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 (pow.f64 re 2) 1/4)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 re 1/2) 2)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (*.f64 (pow.f64 re 2) 1/4)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 re 2)) 1/4))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2))) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (pow.f64 (*.f64 1/2 re) 2) 1)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2)) 3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3) 1/3)
(*.f64 (pow.f64 re 2) 1/4)
(pow.f64 (*.f64 1/2 re) 2)
(*.f64 (pow.f64 re 2) 1/4)
(sqrt.f64 (*.f64 (pow.f64 re 4) 1/16))
(sqrt.f64 (pow.f64 (*.f64 re 1/2) 4))
(log.f64 (exp.f64 (pow.f64 (*.f64 1/2 re) 2)))
(*.f64 (pow.f64 re 2) 1/4)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2))))
(*.f64 (pow.f64 re 2) 1/4)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 1/2 re) 2) 3))
(*.f64 (pow.f64 re 2) 1/4)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 1/2 re) 2)))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))) 1))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 1/2 re))) 1) 1))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (pow.f64 (*.f64 1/2 re) 2))) 3))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (*.f64 3 (*.f64 2 (log.f64 (*.f64 1/2 re)))) 1/3))
(*.f64 (pow.f64 re 2) 1/4)
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 re)) 2))
(*.f64 (pow.f64 re 2) 1/4)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 1/2 re) 2)))
(*.f64 (pow.f64 re 2) 1/4)
(+.f64 0 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))) (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 1)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 3)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3) 1/3)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) im) 2)
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(sqrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(log.f64 (pow.f64 (exp.f64 (cos.f64 re)) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cbrt.f64 (pow.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))) 3))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 re) 3) (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (pow.f64 im 2)) 3) (pow.f64 (cos.f64 re) 3)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(expm1.f64 (log1p.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))) 1) 1))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 3))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))) 1/3))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 1/2 (cos.f64 re))) im)) 2))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(log1p.f64 (expm1.f64 (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))

eval45.0ms (0.8%)

Compiler

Compiled 1748 to 1343 computations (23.2% saved)

prune26.0ms (0.5%)

Pruning

13 alts after pruning (1 fresh and 12 done)

PrunedKeptTotal
New1241125
Fresh101
Picked055
Done077
Total12513138
Accuracy
100.0%
Counts
138 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.2%
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
76.7%
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
10.8%
(+.f64 (cos.f64 re) (cos.f64 re))
49.3%
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
13.4%
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
27.5%
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
76.7%
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
100.0%
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
30.0%
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
21.4%
(*.f64 1/2 (pow.f64 im 2))
68.2%
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.9%
(cos.f64 re)
8.0%
1/4
Compiler

Compiled 248 to 179 computations (27.8% saved)

regimes54.0ms (1%)

Counts
17 → 1
Calls
Call 1
Inputs
1/4
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

17.0ms
im
10.0ms
re
8.0ms
(cos.f64 re)
8.0ms
(*.f64 1/2 (cos.f64 re))
6.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (cos.f64 re))
100.0%1(cos.f64 re)
100.0%1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 37 to 28 computations (24.3% saved)

regimes69.0ms (1.2%)

Counts
15 → 3
Calls
Call 1
Inputs
1/4
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 (pow.f64 im 2) (+.f64 1/2 (*.f64 (pow.f64 re 2) -1/4)))
(+.f64 1 (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/2 (pow.f64 im 2))))
Outputs
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Calls

3 calls:

26.0ms
(cos.f64 re)
24.0ms
im
17.0ms
re
Results
AccuracySegmentsBranch
88.2%2re
95.3%3im
91.1%4(cos.f64 re)
Compiler

Compiled 10 to 7 computations (30% saved)

regimes22.0ms (0.4%)

Counts
12 → 3
Calls
Call 1
Inputs
1/4
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Outputs
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))
Calls

1 calls:

21.0ms
im
Results
AccuracySegmentsBranch
95.2%3im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes46.0ms (0.8%)

Counts
10 → 2
Calls
Call 1
Inputs
1/4
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (cos.f64 re) (cos.f64 re))
(pow.f64 (*.f64 (cos.f64 re) -2) -2)
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(fma.f64 (*.f64 1/2 im) im (cos.f64 re))
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Calls

3 calls:

19.0ms
(cos.f64 re)
13.0ms
im
13.0ms
re
Results
AccuracySegmentsBranch
82.9%4(cos.f64 re)
79.6%2re
87.0%2im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes30.0ms (0.5%)

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

3 calls:

17.0ms
im
6.0ms
re
6.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
68.2%1re
68.2%1(cos.f64 re)
71.7%3im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes17.0ms (0.3%)

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

1 calls:

16.0ms
im
Results
AccuracySegmentsBranch
71.4%3im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes13.0ms (0.2%)

Counts
5 → 3
Calls
Call 1
Inputs
1/4
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(cos.f64 re)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1/4 (*.f64 (pow.f64 re 2) 1/4))
Outputs
(cos.f64 re)
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(*.f64 1/2 (pow.f64 im 2))
Calls

1 calls:

12.0ms
im
Results
AccuracySegmentsBranch
71.4%3im
Compiler

Compiled 3 to 2 computations (33.3% saved)

regimes14.0ms (0.3%)

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

3 calls:

7.0ms
im
4.0ms
re
3.0ms
(cos.f64 re)
Results
AccuracySegmentsBranch
49.9%1(cos.f64 re)
49.9%1re
56.4%2im
Compiler

Compiled 10 to 7 computations (30% saved)

regimes11.0ms (0.2%)

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

2 calls:

7.0ms
im
3.0ms
re
Results
AccuracySegmentsBranch
13.4%1re
13.4%1im
Compiler

Compiled 6 to 4 computations (33.3% saved)

regimes5.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

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

2 calls:

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

Compiled 6 to 4 computations (33.3% saved)

bsearch45.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
8.816216989797394e+150
1.497219057429597e+155
21.0ms
1.5899062590268676e-5
0.0006342494141532333
Results
21.0ms127×256infinite
18.0ms112×256valid
0.0ms256infinite
Compiler

Compiled 362 to 298 computations (17.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
Operation ival-cos, time spent: 6.0ms, 35.0% of total-time
Operation ival-exp, time spent: 4.0ms, 23.0% of total-time
Operation ival-mult, time spent: 4.0ms, 23.0% of total-time
Operation ival-add, time spent: 2.0ms, 12.0% of total-time
Operation ival-neg, time spent: 1.0ms, 6.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch47.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
23.0ms
8.816216989797394e+150
1.497219057429597e+155
23.0ms
1.5899062590268676e-5
0.0006342494141532333
Results
20.0ms127×256infinite
21.0ms112×256valid
0.0ms256infinite
Compiler

Compiled 341 to 270 computations (20.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Operation ival-exp, time spent: 7.0ms, 35.0% of total-time
Operation ival-cos, time spent: 6.0ms, 30.0% of total-time
Operation ival-mult, time spent: 4.0ms, 20.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time
Operation ival-neg, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch21.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
21.0ms
1.5899062590268676e-5
0.0006342494141532333
Results
18.0ms111×256valid
0.0ms256valid
Compiler

Compiled 165 to 126 computations (23.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 9.0ms
Operation ival-exp, time spent: 4.0ms, 42.0% of total-time
Operation ival-cos, time spent: 3.0ms, 32.0% of total-time
Operation ival-mult, time spent: 2.0ms, 21.0% of total-time
Operation ival-add, time spent: 1.0ms, 11.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time
Operation ival-neg, time spent: 0.0ms, 0.0% of total-time

bsearch42.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
12.0ms
2.1210963222387156e+128
3.4117748030951418e+128
31.0ms
6892.30744707882
1591537494916738300.0
Results
36.0ms223×256infinite
0.0ms256infinite
Compiler

Compiled 298 to 224 computations (24.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
Operation ival-cos, time spent: 6.0ms, 36.0% of total-time
Operation ival-exp, time spent: 5.0ms, 30.0% of total-time
Operation ival-mult, time spent: 3.0ms, 18.0% of total-time
Operation ival-add, time spent: 1.0ms, 6.0% of total-time
Operation ival-neg, time spent: 1.0ms, 6.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch42.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
2.1210963222387156e+128
3.4117748030951418e+128
31.0ms
6892.30744707882
1591537494916738300.0
Results
36.0ms223×256infinite
0.0ms256infinite
Compiler

Compiled 248 to 202 computations (18.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 18.0ms
Operation ival-cos, time spent: 8.0ms, 44.0% of total-time
Operation ival-exp, time spent: 4.0ms, 22.0% of total-time
Operation ival-mult, time spent: 3.0ms, 16.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time
Operation ival-neg, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch42.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
2.1210963222387156e+128
3.4117748030951418e+128
32.0ms
6892.30744707882
1591537494916738300.0
Results
36.0ms223×256infinite
0.0ms256infinite
Compiler

Compiled 240 to 194 computations (19.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
Operation ival-cos, time spent: 6.0ms, 35.0% of total-time
Operation ival-exp, time spent: 4.0ms, 23.0% of total-time
Operation ival-mult, time spent: 4.0ms, 23.0% of total-time
Operation ival-add, time spent: 1.0ms, 6.0% of total-time
Operation ival-neg, time spent: 1.0ms, 6.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

bsearch33.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
33.0ms
6892.30744707882
1591537494916738300.0
Results
29.0ms159×256infinite
0.0ms256infinite
Compiler

Compiled 168 to 134 computations (20.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 16.0ms
Operation ival-mult, time spent: 7.0ms, 43.0% of total-time
Operation ival-exp, time spent: 4.0ms, 25.0% of total-time
Operation ival-cos, time spent: 4.0ms, 25.0% of total-time
Operation ival-add, time spent: 1.0ms, 6.0% of total-time
Operation ival-neg, time spent: 1.0ms, 6.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

simplify16.0ms (0.3%)

Algorithm
egg-herbie
Rules
18×*-commutative
+-commutative
1-exp
sub-neg
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065653
189653
291653
392653
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5718490662849961/9223372036854775808) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5718490662849961/9223372036854775808) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5718490662849961/9223372036854775808) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 9000) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (if (<=.f64 im 305000000000000013308588090496432729943473340178360040981491555890640416781872818026756868965380016378310018902837412910830977024) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (fma.f64 (*.f64 1/2 im) im (cos.f64 re))))
(if (<=.f64 im 7000) (cos.f64 re) (if (<=.f64 im 339999999999999987080803875449707327599035784083320936061006213487727652914165892002231306895492994336366035177159428475847704576) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 440000) (cos.f64 re) (if (<=.f64 im 270000000000000001057850629376674526546660798476901289378794016979640418981324466467569763557522300711009613092464966870591602688) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 12000) (cos.f64 re) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)))
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
1/4
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 5718490662849961/9223372036854775808) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1) (cos.f64 re)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5718490662849961/9223372036854775808) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5718490662849961/9223372036854775808) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5718490662849961/9223372036854775808) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 5718490662849961/9223372036854775808) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 5718490662849961/9223372036854775808) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 9000) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (if (<=.f64 im 305000000000000013308588090496432729943473340178360040981491555890640416781872818026756868965380016378310018902837412910830977024) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (fma.f64 (*.f64 1/2 im) im (cos.f64 re))))
(if (or (<=.f64 im 9000) (not (<=.f64 im 305000000000000013308588090496432729943473340178360040981491555890640416781872818026756868965380016378310018902837412910830977024))) (fma.f64 (*.f64 1/2 im) im (cos.f64 re)) (+.f64 1/4 (*.f64 1/4 (*.f64 re re))))
(if (<=.f64 im 7000) (cos.f64 re) (if (<=.f64 im 339999999999999987080803875449707327599035784083320936061006213487727652914165892002231306895492994336366035177159428475847704576) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (+.f64 1 (*.f64 1/2 (pow.f64 im 2)))))
(if (<=.f64 im 7000) (cos.f64 re) (if (<=.f64 im 339999999999999987080803875449707327599035784083320936061006213487727652914165892002231306895492994336366035177159428475847704576) (+.f64 1/4 (*.f64 1/4 (*.f64 re re))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))
(if (<=.f64 im 440000) (cos.f64 re) (if (<=.f64 im 270000000000000001057850629376674526546660798476901289378794016979640418981324466467569763557522300711009613092464966870591602688) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)) (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 440000) (cos.f64 re) (if (<=.f64 im 270000000000000001057850629376674526546660798476901289378794016979640418981324466467569763557522300711009613092464966870591602688) (+.f64 1/4 (*.f64 1/4 (*.f64 re re))) (*.f64 1/2 (pow.f64 im 2))))
(if (<=.f64 im 12000) (cos.f64 re) (+.f64 1/4 (*.f64 (*.f64 re re) 1/4)))
(if (<=.f64 im 12000) (cos.f64 re) (+.f64 1/4 (*.f64 1/4 (*.f64 re re))))
(+.f64 1/4 (*.f64 (*.f64 re re) 1/4))
(+.f64 1/4 (*.f64 1/4 (*.f64 re re)))
1/4
Compiler

Compiled 205 to 152 computations (25.9% saved)

soundness634.0ms (11.4%)

Rules
1660×fma-def
1324×unswap-sqr
1134×associate-*r*
1092×fma-neg
1046×log1p-expm1-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
120244
2329644
02392517
15652430
214052358
349062323
02086
123882
2296682
0961302
12861140
28751140
342501140
02086
123882
2296682
03205413
17625313
223105223
Stop Event
node limit
node limit
node limit
node limit
node limit
unsound
Compiler

Compiled 99 to 69 computations (30.3% saved)

end0.0ms (0%)

preprocess118.0ms (2.1%)

Remove

(abs im)

(abs re)

Compiler

Compiled 608 to 402 computations (33.9% saved)

Profiling

Loading profile data...