#include <stdio.h>

double root(double a)
{
double p1, p2, p3;
p1 = a;
p2 = (p1 + a / p1) / 2;
(p1 - p2 > 0) ? p3 = p1 - p2 : p3 = p2 - p1;
if (p2 < 0) p2 = -p2;
if (p3 <= 1.0 * 10e-10) return p2;
return root(p2);
}

int main(void)
{
double x;

scanf("%lf", &x);
printf("%f", root(x));

return 0;
}

1>sample.c(8): error C2106: '=' : 左のオペランドが、左辺値になっていません。

コレはどういう意味でしょうか