user
Finding the angle between two bearings is often confusing.[1]

Task

Find the angle which is the result of the subtraction **b2 - b1**, where **b1** and **b2** are the bearings.

Input bearings are expressed in the range   **-180**   to   **+180**   degrees.
  
The  result  is also expressed in the range   **-180**   to   **+180**   degrees.

Compute the angle for the following pairs:

* 20 degrees (**b1**) and 45 degrees (**b2**)
* -45 and 45
* -85 and 90
* -95 and 90
* -45 and 125
* -45 and 145
* 29.4803 and -88.6381
* -78.3251 and -159.036

Optional extra

Allow the input bearings to be any (finite) value.

Test cases

* -70099.74233810938 and 29840.67437876723
* -165313.6666297357 and 33693.9894517456
* 1174.8380510598456 and -154146.66490124757
* 60175.77306795546 and 42213.07192354373
assistant
(formerly Perl 6)

**Works with**: Rakudo version 2016.11

```
sub infix:<∠> (Real $b1, Real $b2) {
   (my $b = ($b2 - $b1 + 720) % 360) > 180 ?? $b - 360 !! $b;
}

for 20, 45,
   -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

  -> $b1, $b2 { printf "%10.2f %10.2f = %8.2f\n", $b1, $b2, $b1 ∠ $b2 }

```

Output:

```
     20.00      45.00 =    25.00
    -45.00      45.00 =    90.00
    -85.00      90.00 =   175.00
    -95.00      90.00 =  -175.00
    -45.00     125.00 =   170.00
    -45.00     145.00 =  -170.00
     29.48     -88.64 =  -118.12
    -78.33    -159.04 =   -80.71
 -70099.74   29840.67 =  -139.58
-165313.67   33693.99 =   -72.34
   1174.84 -154146.66 =  -161.50
  60175.77   42213.07 =    37.30
```