func angleDifference(a1: Double, a2: Double) -> Double { let diff = (a2 - a1).truncatingRemainder(dividingBy: 360) if diff < -180.0 { return 360.0 + diff } else if diff > 180.0 { return -360.0 + diff } else { return diff } } let testCases = [ (20.0, 45.0), (-45, 45), (-85, 90), (-95, 90), (-45, 125), (-45, 145), (29.4803, -88.6381), (-78.3251, -159.036), (-70099.74233810938, 29840.67437876723), (-165313.6666297357, 33693.9894517456), (1174.8380510598456, -154146.66490124757), (60175.77306795546, 42213.07192354373) ] print(testCases.map(angleDifference))