Weierstrass approximation theorem