code: private static float computeLowestRoot(float a, float b, float c, float maxR) {
          float determinant = b * b - 4.0f * a * c;
          if (determinant < 0.0f)
              return Float.POSITIVE_INFINITY;
          float sqrtD = (float) Math.sqrt(determinant);
          float r1 = (-b - sqrtD) / (2.0f * a);
          float r2 = (-b + sqrtD) / (2.0f * a);
          if (r1 > r2) {
              float temp = r2;
              r2 = r1;
              r1 = temp;
          }
          if (r1 > 0.0f && r1 < maxR) {
              return r1;
          }
          if (r2 > 0.0f && r2 < maxR) {
              return r2;
          }
          return Float.POSITIVE_INFINITY;
      }
docs: Compute the lowest root for <code>t</code> in the quadratic equation <code>a*t*t + b*t + c = 0</code>.
  <p>
  This is a helper method for {@link #intersectSweptSphereTriangle}
  
  @param a
  the quadratic factor
  @param b
  the linear factor
  @param c
  the constant
  @param maxR
  the maximum expected root
  @return the lowest of the two roots of the quadratic equation; or {@link Float#POSITIVE_INFINITY}