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)?$

$x^4+1=x^4+2x^2+1-2x^2=(x^2+1)^2-(\sqrt2x)^2$ and so on. 
