libocl: Improve precision of pow/powr.
libocl: Improve precision of pow/powr.

pow:
  When splitting a float into two floats. normally, we use 0xfffff000 as
  the mask. This leaves 12bit effective mantissa in high bits. after some
  calculation, it seems lost some bit in high bits. so I change the mask
  to 0xffffe000, which only leave 11bit mantissa in the high bits. Then
  the precision can meet OpenCL Spec requirement.

powr:
  powr() defined different edge case behavior in OpenCL Spec 7.5

Signed-off-by: Ruiling Song <286a174c1339c6eff91abc41c3a1012c95030c95@intel.com>
Reviewed-by: Zhigang Gong <e04a7b9b70b1e4c6318cf117dcd1a9056e14b97a@linux.intel.com>

freedesktop-unofficial-mirror/beignet,wdv4758h/beignet,zhenyw/beignet,wdv4758h/beignet,zhenyw/beignet,wdv4758h/beignet,wdv4758h/beignet,freedesktop-unofficial-mirror/beignet,freedesktop-unofficial-mirror/beignet,zhenyw/beignet,freedesktop-unofficial-mirror/beignet,wdv4758h/beignet,zhenyw/beignet,zhenyw/beignet