double along; along = 174.681821; // print_double("Score = %lf\n",along); double alat; alat = deg2rad(-36.788889); double blong; blong = 174.668494; double blat; blat = deg2rad(-36.788397); double adiff; adiff = blong - along; if (adiff > 180) { adiff -= 360; } if (adiff < -180) { adiff += 360; } double bdiff; bdiff = deg2rad(adiff); double cosdist; cosdist = (sin(alat) * sin(blat) + cos(alat) * cos(blat) * cos(bdiff)); double rdist; rdist = acos(cosdist); double nautical_miles; nautical_miles = rad2deg(rdist) * 60; print_double("alat: %.15lf - blat: %.15lf - alat: %.15lf - blat: %.15lf - bdiff: %.15lf - cosdist: %.15lf - Distance: %.15lf\n", alat,blat,alat,blat,bdiff, cosdist, nautical_miles);