Modified so only 1 matrix is used. Little improvement (6%)
Changed sin for __sinf (a bit less accuracy, a bit faster)
Added kernels for computing error compared to analytical value and for doing a max reduction to get the maximum error.