#Java 8, 113 92 88 82 bytes
Java 8, 113 92 88 82 bytes
(a,b,c,d)->1737*Math.acos(Math.cos(a-c)+Math.cos(a)*Math.cos(c)*(Math.cos(d-b)-1))
Inputs a,b,c,d are ϕ1,λ1,ϕ2,λ2 in radians.
-21 bytes using @miles' shorter formula.
-4 bytes thanks to @OlivierGrégore because I still used {Math m=null;return ...;} with every Math. as m., instead of dropping the return and use Math directly.
-6 bytes using @Neil's shorter formula.
Explanation:
(a,b,c,d)-> // Method with four double parameters and double return-type
1737*Math.acos( // Return 1737 multiplied with the acos of:
Math.cos(a-c) // the cos of `a` minus `c`,
+Math.cos(a)*Math.cos(c) // plus the cos of `a` multiplied with the cos of `c`
*(Math.cos(d-b)-1)) // multiplied with the cos of `d` minus `b` minus 1