Is there a simple algorithm for factoring polynomials over the reals? Any real polynomial can be expressed as a product of quadratic and binomial factors like $(x+a)$ and $(x^2 + bx + c)$. Given a polynomial, is there an algorithm which will find such factors?  
For example, how can I express $x^4 +1$ in the form $(x^2 + bx + c)(x^2 +dx + f)?$

If you can find roots, you can find factors. As others have pointed out, this needs to be done using numerical methods for polynomials with degree greater than 4. In fact it's often a good idea to use numerical methods (rather than closed-form formulae) even in the degree 3 and degree 4 cases, too. There's lots of good software for numerically finding roots of polynomials. The best-known is the Jenkins Traub method
