         {
             min = symRoot(min,p);
             var denom:Number = symRoot(max,p) - min;
-            return (denom < EPSILON ? 0.5 : (symRoot(x,p) - min) / denom);
+            return (denom < EPSILON  && denom > -EPSILON ? 0 : (symRoot(x,p) - min) / denom);
         }
 
 		/**

        {
            min = symLog(min, b);
            var denom:Number = symLog(max, b) - min;
            return (denom < EPSILON ? 0.5 : (symLog(x, b) - min) / denom);
        }
        
        /**

        public static function invLinearInterp(x:Number, min:Number, max:Number):Number
        {
            var denom:Number = (max - min);
            return (denom < EPSILON && denom > -EPSILON ? 0 : (x - min) / denom);
        }
        
        /**
