function  M= M(a, b, c)
sa = 1;
sb = 1;
if (a <= 0 && b <= 0 && c <= 0) 
   M = mm(a, b, c);
elseif (a * b * c <= 0)
   if (b > 0 && c > 0)
      M = xCND(a) - mm(a, -b, -c);
   elseif (a > 0 && c > 0)
      M = xCND(b) - mm(-a, b, -c);
   elseif (a > 0 && b > 0)
      M = xCND(a) + xCND(b) - 1 - mm(-a, -b, c);
   end
else
   if (a < 0)
       sa = -1;
   end
   if (b < 0)
       sb = -1;
   end
   r1 = (c * a - b) * sa / sqrt(a * a - 2 * a * b * c + b * b);
   r2 = (c * b - a) * sb / sqrt(a * a - 2 * a * b * c + b * b);
   D = (1 - sa * sb) / 4;
   M = mm(a, 0, r1) + mm(b, 0, r2) - D;
end
end