// v returns potential of cube [-1, 1]^3. #include #include typedef double R; R v(R x, R y, R z){R r = sqrt(x*x + y*y + z*z); return y*z*log(x+r) + x*z*log(y+r) + x*y*log(z+r) -0.5*(x*x*atan2(y*z,x*r) + y*y*atan2(x*z,y*r) + z*z*atan2(x*y,z*r));} int main(){printf("%19.15f\n", v(-1,-1,-1)); return 0;}