I think your problem is "ill-posed". There are two things: the turn radius, and the rotation speed.

For example in your "truth table", you say (100, 0) = 50 but also (50,0) = 50. You get the same output value because the robot is turning around the same point (same turn radius)but at different speeds.

Bu you also say (-50, o) = -50 and (0,50) = -50, which is: same rotation speed, but turning around different points.

So you need to define exactly what you want to measure. Rotation speed or centre of rotation?

Look at this picture: (seen from above)

L is left wheel, its linear speed is V_L(your spdL), right wheel R speed V_R. L is distance between wheels.

Turn radius is r (robot does a circle around O) and angular speed is theta (look at formulas above).

If you want the turn radius, it will go to infinity if robot is going straight, if robot is spinning on itself you get 0 (i.e. O = C, the robot turns around the cente of the wheels) etc.

If you want rotation speed you'll get it in rad/sec. To map from -100 to 100 you need to figure out the max turn speed your robot can do and normalize to this.

In the end you need to really think about what you want to measure. You can't have a single variable giving you turn radius and rotation speed at the same time.

Hope that helps!