// Rosetta Code problem: http://rosettacode.org/wiki/Angle_difference_between_two_bearings // by Jjuanhdez, 06/2022 print "Input in -180 to +180 range:" getDifference(20.0, 45.0) getDifference(-45.0, 45.0) getDifference(-85.0, 90.0) getDifference(-95.0, 90.0) getDifference(-45.0, 125.0) getDifference(-45.0, 145.0) getDifference(-45.0, 125.0) getDifference(-45.0, 145.0) getDifference(29.4803, -88.6381) getDifference(-78.3251, -159.036) print "\nInput in wider range:" getDifference(-70099.74233810938, 29840.67437876723) getDifference(-165313.6666297357, 33693.9894517456) getDifference(1174.8380510598456, -154146.66490124757) end sub getDifference(b1, b2) r = mod((b2 - b1), 360.0) if r >= 180.0 r = r - 360.0 print r end sub