code: public static float lerpa (float a1, float a2, float t) {
          float ma1 = mirrorAngle(a1), ma2 = mirrorAngle(a2);
          float d = Math.abs(a2 - a1), md = Math.abs(ma1 - ma2);
          return (d <= md) ? lerp(a1, a2, t) : mirrorAngle(lerp(ma1, ma2, t));
      }
docs: Linearly interpolates between two angles, taking the shortest path around the circle.
  This assumes that both angles are in [-pi, +pi].