   if (a.x == 0.0 && a.y == 0.0) return vec2(1.0, 0.0);
   if (a.x == 1.0 && a.y == 0.0) return E_FP64;
 
-  // Range reduction using assume a = kr + m * log(2), k and m being integers.
-  // Set k = 9 (we can choose other k to trade accuracy with performance.
-  // we only need to calculate exp(r) and using exp(a) = 2^m * exp(r)^k
-
   float m = floor(a.x / LOG2_FP64.x + 0.5);
   vec2 r = sub_fp64(a, mul_fp64(LOG2_FP64, vec2(m, 0.0))) * inv_k;
   vec2 s, t, p;

#endif

#if defined(NVIDIA_EQUATION_WORKAROUND) || defined(INTEL_EQUATION_WORKAROUND)
vec2 twoSub(float a, float b) {
  float s = (a - b) * ONE;
  float v = (s - a);
  float err = (a - (s - v) * ONE) * ONE - (b + v);
  return vec2(s, err);
}
#else

  t = mul_fp64(r, INVERSE_FACTORIAL_5_FP64);
  s = sum_fp64(s, t);

  /* keep the following commented code in case we need them
  for extra accuracy from the Taylor expansion*/
  // r = mul_fp64(r, x);
  // t = mul_fp64(r, INVERSE_FACTORIAL_7_FP64);
  // s = sum_fp64(s, t);

  // r = mul_fp64(r, x);
  // t = mul_fp64(r, INVERSE_FACTORIAL_9_FP64);
  // s = sum_fp64(s, t);

  return s;
}
