     return true;
   }
 }
+
 
 // Rather tediously, ES 1.0 doesn't support bit operations
 // on ints, so use these for decoding packed values.

    // AB is circle for hyperbolic case.
    // norm is normal to OB, norm2 is other radial
    // reflection - either x-axis or reflection of OA.
    if (!tryreflect(z,norm) &&
        !tryreflect(z,norm2)) {
      if (hyperbolic) {
        if (!tryinvert(z,p,r2)) {
          found = true;

  float radius = diskradius(p,r);

  vec2 z = vTextureCoord;
  float x = z.x, y = z.y;

  if (hplane == 0) {
    // No half-plane
