Выражение (sqrt(2)*M_PI/3)*(1/4)
имеет целочисленное деление.А именно, (1/4)
всегда будет равным нулю, делая все выражение равным нулю, так как оно умножено на это.
(sqrt(2.0)*M_PI/3.0)*(1.0/4.0);
Немного ближе к тому, что вы хотели, но при сравнении удваивается точно, я быиспользуйте порог эпсилона и проверьте, достаточно ли они близки друг к другу, на основании этого:
bool cmp(double d1, double d2, double epsilon)
{
return std::fabs(d1 - d2) < epsilon;
}