Depends on how you define speed-up. This is the most natural definition for me:
As a baseline, my code can do 100 operations / second.
With 50% speedup (+50%), my code can do 150 operations / second.
If C was 40x faster than the baseline, it could do 4000 operations / second. After the speedup C can still do 27x as many operations per second. (4000/150 = 26.66..)
As a baseline, my code can do 100 operations / second.
With 50% speedup (+50%), my code can do 150 operations / second.
If C was 40x faster than the baseline, it could do 4000 operations / second. After the speedup C can still do 27x as many operations per second. (4000/150 = 26.66..)