Several authors have analysed the pitfalls involved in the numerical evaluation of the traditional schoolroom solution of a quadratic equation in one variable x: a x^2 - 2 b x + c = 0 ; x = (b + d)/a , (b - d)/a , where d^2 = b^2 - a c . Very briefly, the relevant considerations are: (1) Rescaling a,b,c, avoiding overflow or underflow in d^2; (2) Double-precision square-root, avoiding cancellation in d^2; (3) Complex roots when d^2 < 0; (4) Evaluating x" = c/(a x') where |x'| > |x"|, avoiding cancellation in x"; (5) Detection of cases a = 0, a = b = 0, a = b = c = 0 (solutions single infinite, double infinite, undefined). The following detailed discussions are freely accessible online: George E. Forsythe "How Do You Solve a Quadratic Equation", Tech. Report CS40, Comp. Sci. Dept., U. of Stanford (1966); Henry G. Baker "Garbage In, Garbage Out" ACM SIGPLAN Notices vol 33, 30--38 (1998). The topic was aired in math-fun a while back ("branchless programming", 22-3/10/2007), but for some reason I didn't at the time get around to contributing my own two-penn'orth. In a geometric context, rather than as a single variable, the solution is often interpreted as a ratio, or homogeneous coordinate (x,y) of some point in projective 1-space.
From this aspect, it's irritating that the traditional formulation ties itself in logical knots over infinite roots (or worse, ignores them altogether); and furthermore it's aesthetically distressing that the symmetry of the homogeneous quadratic form has been lost.
But suppose either inhomogeneous solution is written alternatively as x = (b + d)/a = c/(b - d) by symmetry; now adding numerators and denominators leads to the symmetric reformulation: The homogeneous quadratic equation a x^2 - 2 b x y + c y^2 = 0 has solutions x : y = (c + b + d) : (a + b - d) , (c + b - d) : (a + b + d) , where d^2 = b^2 - a c . In this form there is no need to detect and specially treat cases (4) and (5). Where parallel processing is available therefore, it should execute marginally faster than the conventional formula (though of course both versions are dominated by the square root). Fred Lunnon [18/05/10]