math.sin on complex, imaginary part

Time bar (total: 2.3s)

analyze0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

sample2.1s (90.4%)

Results
1.0s2075×body1024valid
512.0ms4040×body256infinite
313.0ms1072×body512valid
121.0ms857×body256valid
121.0ms212×body2048valid
Bogosity

preprocess223.0ms (9.6%)

Algorithm
egg-herbie
Rules
753×fma-def
537×associate--r-
494×*-commutative
369×distribute-lft-in
311×associate-/l*
Problems
133×(-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
123×No Errors
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036324
187308
2248308
3679304
41716294
54667294
66448294
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 (neg.f64 re))) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.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 re)) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.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 (neg.f64 re))) (-.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (-.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (-.f64 (exp.f64 im) (exp.f64 (neg.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 re)) (-.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.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 (-.f64 0 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (-.f64 (exp.f64 (neg.f64 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (cos.f64 re) (*.f64 1/2 (-.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.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 re)) (-.f64 (exp.f64 (-.f64 0 (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 (-.f64 (exp.f64 im) (exp.f64 (neg.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 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 im) (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (*.f64 1/2 (-.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (fma.f64 (exp.f64 re) -1/2 (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs re)

(negabs im)

Compiler

Compiled 41 to 25 computations (39% saved)

end0.0ms (0%)

Profiling

Loading profile data...