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