vtn: Make tanh implementation even stupider
authorKenneth Graunke <kenneth@whitecape.org>
Wed, 27 Jan 2016 23:31:53 +0000 (15:31 -0800)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 27 Jan 2016 23:34:50 +0000 (15:34 -0800)
commit32e4c5ae30240c6759257ef68e80055f4cf8d612
tree64734113e009dc48bd857ae42902b60fb6a2e61f
parent8f0ef9bbeb2932209f4bdc408f79c2313bd6ba51
vtn: Make tanh implementation even stupider

The dEQP "precision" test tries to verify that the reference functions

   float sinh(float a) { return ((exp(a) - exp(-a)) / 2); }
   float cosh(float a) { return ((exp(a) + exp(-a)) / 2); }
   float tanh(float a) { return (sinh(a) / cosh(a)); }

produce the same values as the built-ins.  We simplified away the
multiplication by 0.5 in the numerator and denominator, and apparently
this causes them not to match for exactly 1 out of 13,632 values.

So, put it back in, fixing the test, but making our code generation
(and precision?) worse.
src/glsl/nir/spirv/vtn_glsl450.c