math.cos on complex, imaginary part

Time bar (total: 1.6min)

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)

sample1.6min (99.6%)

Results
1.5s3926×1valid-sollya
1.8s3926×1valid-rival
57.0ms258×0valid-sollya
45.0ms258×0valid-rival
Bogosity

preprocess322.0ms (0.3%)

Algorithm
egg-herbie
Rules
737×fma-neg
661×fma-define
244×distribute-lft-in
219×distribute-rgt-in
199×associate-*r/
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
032316
180308
2261308
3887304
42161294
53608294
64392294
74927294
85035294
95035294
105035294
115035294
125067294
135097294
145097294
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal -1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal -1/2 binary64) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 im) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (fma.f64 (exp.f64 re) #s(literal -1/2 binary64) (/.f64 #s(literal 1/2 binary64) (exp.f64 re))))
Symmetry

(negabs re)

(negabs im)

Compiler

Compiled 13 to 10 computations (23.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
68.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
12444
22944
33244
43344
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

soundness1.0ms (0%)

Stop Event
fuel
Compiler

Compiled 13 to 10 computations (23.1% saved)

preprocess78.0ms (0.1%)

Remove

(negabs im)

(negabs re)

Compiler

Compiled 242 to 176 computations (27.3% saved)

end0.0ms (0%)

Profiling

Loading profile data...