暇つぶしに円周率/4 を求めるプログラム書いたんだけど、最適化オプションつけてもかなり遅いから誰か改善点教えて
以下ソースコード (C++11)

int main(void) {
std::random_device rd;
std::mt19937 twister(rd());
int n = 4000;
long double a,b;
std::uniform_real_distribution<long double> dist(-n,n);
int cnt = 0;
for(int i = 0;i < (4 * n * n);++i)
{
a = dist(twister);
b = dist(twister);
if (((a * a) + (b * b)) <= ((long double)n * (long double)n)) ++cnt;
}
std::cout << (long double)cnt / (long double)(4 * n * n) << std::endl;
return 0;
}