3 added 886 characters in body
source | link

MATL, 22 bytes

|ttsGZ}/X/bX<*|bd|+hX<

Input is an array of two complex numbers.

Try it online! Or verify all test cases.

Explanation

|       % Implicitly input array and take absolute value of its entries
tt      % Duplicate twice
s       % Sum. This is the length of the path that follows the two radii
GZ}     % Push input again and split into the two numbers
/X/     % Divide and compute angle. This gives the difference of the angles
        % of the two points, between -pi and pi
bX<     % Bubble up a copy of the array of radii and compute minimum
*|      % Multiply and take absolute value. This is the arc part of the
        % path that follows one arc and the difference of radii
bd|     % Bubble up a copy of the array of radii and compute absolute
        % difference. This is the other part of the second path
+       % Add. This gives the length of second path
hX<     % Concatenate and take minimum to produce the smallest length.
        % Implicitly display

MATL, 22 bytes

|ttsGZ}/X/bX<*|bd|+hX<

Input is an array of two complex numbers.

Try it online! Or verify all test cases.

MATL, 22 bytes

|ttsGZ}/X/bX<*|bd|+hX<

Input is an array of two complex numbers.

Try it online! Or verify all test cases.

Explanation

|       % Implicitly input array and take absolute value of its entries
tt      % Duplicate twice
s       % Sum. This is the length of the path that follows the two radii
GZ}     % Push input again and split into the two numbers
/X/     % Divide and compute angle. This gives the difference of the angles
        % of the two points, between -pi and pi
bX<     % Bubble up a copy of the array of radii and compute minimum
*|      % Multiply and take absolute value. This is the arc part of the
        % path that follows one arc and the difference of radii
bd|     % Bubble up a copy of the array of radii and compute absolute
        % difference. This is the other part of the second path
+       % Add. This gives the length of second path
hX<     % Concatenate and take minimum to produce the smallest length.
        % Implicitly display
    Post Undeleted by Luis Mendo
    Post Deleted by Luis Mendo
    Post Undeleted by Luis Mendo
2 deleted 649 characters in body
source | link

MATL, 1522 bytes

sGd|GX<id*|+hX<|ttsGZ}/X/bX<*|bd|+hX<

Input is in polar form: array of radii followed byan array of angles in radianstwo complex numbers.

Try it online!

Try it online! Or verify all test cases: 1, 2, 3, 4, 5verify all test cases.

MATL, 15 bytes

sGd|GX<id*|+hX<

Input is in polar form: array of radii followed by array of angles in radians.

Try it online!

Or verify all test cases: 1, 2, 3, 4, 5

MATL, 22 bytes

|ttsGZ}/X/bX<*|bd|+hX<

Input is an array of two complex numbers.

Try it online! Or verify all test cases.

    Post Deleted by Luis Mendo
1
source | link

MATL, 15 bytes

sGd|GX<id*|+hX<

Input is in polar form: array of radii followed by array of angles in radians.

Try it online!

Or verify all test cases: 1, 2, 3, 4, 5