Returns haversine(angle-in-radians).
hav(x) == (1 - cos(x)) / 2 == sin(x / 2)^2.
static double hav(double x) { final sine = sin(x * 0.5); return sine * sine; }