Remove the trailing semicolon from this line:
#define M_PI 3.14159265358979323846;
to have it look like this:
#define M_PI 3.14159265358979323846
Macros are expanded by the pre-processor before compilation, so the code passed to the compiler using your version would look like:
double d = pow(3.14159265358979323846; * 2, 0.5);