{"id":"v001","input":{"lat1":40.6413,"lon1":-73.7781,"lat2":51.47,"lon2":-0.4543},"expect":{"result.distance.value":5540.018944948644,"ok":true,"result.difference.value":14890.0},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13},"result.difference.value":{"abs":1.0}}}
{"id":"v002","input":{"lat1":0,"lon1":0,"lat2":0,"lon2":90},"expect":{"result.distance.value":10007.557175464866,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v003","input":{"lat1":-33.9,"lon1":151.2,"lat2":51.5,"lon2":-0.1},"expect":{"result.distance.value":16994.74139549853,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v004","input":{"lat1":10,"lon1":20,"lat2":10.001,"lon2":20.001},"expect":{"result.distance.value":0.1560635254059849,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v005","input":{"lat1":89,"lon1":0,"lat2":-89,"lon2":180},"expect":{"result.distance.value":20015.114350929736,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v006","input":{"lat1":0,"lon1":0,"lat2":0,"lon2":180},"expect":{"result.distance.value":20015.114350929736,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v007","input":{"lat1":90,"lon1":0,"lat2":-90,"lon2":0},"expect":{"result.distance.value":20015.114350929736,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v008","input":{"lat1":35.6762,"lon1":139.6503,"lat2":37.7749,"lon2":-122.4194},"expect":{"result.distance.value":8274.626370104055,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v009","input":{"lat1":-22.9068,"lon1":-43.1729,"lat2":38.7223,"lon2":-9.1393},"expect":{"result.distance.value":7715.332461085736,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v010","input":{"lat1":1.3521,"lon1":103.8198,"lat2":-33.8688,"lon2":151.2093},"expect":{"result.distance.value":6306.25939424008,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v011","input":{"lat1":64.1466,"lon1":-21.9426,"lat2":55.7558,"lon2":37.6173},"expect":{"result.distance.value":3307.6333832448963,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v012","input":{"lat1":0,"lon1":179.9,"lat2":0,"lon2":-179.9},"expect":{"result.distance.value":22.23901594547766,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v013","input":{"lat1":-89.9,"lon1":45,"lat2":-89.9,"lon2":-135},"expect":{"result.distance.value":22.239015945476883,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v014","input":{"lat1":30.0444,"lon1":31.2357,"lat2":30.0444,"lon2":31.2358},"expect":{"result.distance.value":0.00962546509203035,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v015","input":{"lat1":51.5,"lon1":-0.1,"lat2":51.5,"lon2":-0.1},"expect":{"result.distance.value":0.0,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v016","input":{"lat1":-45.0312,"lon1":168.6626,"lat2":45.0312,"lon2":-11.3374},"expect":{"result.distance.value":20015.114350929736,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v017","input":{"lat1":19.4326,"lon1":-99.1332,"lat2":19.4326,"lon2":80.8668},"expect":{"result.distance.value":15693.49533830888,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v018","input":{"lat1":70,"lon1":20,"lat2":70,"lon2":30},"expect":{"result.distance.value":379.88332446285705,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v019","input":{"lat1":-10,"lon1":-60,"lat2":10,"lon2":-50},"expect":{"result.distance.value":2483.8651968824643,"ok":true},"source":"Haversine evaluated in Python with R1 = 6,371,008.771 m","sourceVersion":"Moritz 2000","tolerance":{"result.distance.value":{"abs":1e-09,"rel":1e-13}}}
{"id":"v020","input":{"lat1":36.12,"lon1":-86.67,"lat2":33.94,"lon2":-118.4,"radius":"6372.8 km"},"expect":{"result.distance.value":2887.26,"ok":true},"source":"Rosetta Code, Haversine formula (task description)","sourceVersion":"retrieved 2026-09-19","tolerance":{"result.distance.value":{"abs":0.005}}}
