This is the formula for calculating a base stat.
Let's assume a 2 pokemon pokemon are:
-At level 100
-have 31 IVs in a stat
-A neutral nature
-are at level 100
-have a full 252 EVs in said stat.
This helps everything remain constant. Now using your base stat of 50 and 100.
Base 50 Speed
known:
IV=31
EV=252
Level=100
nature value=1
Base=50
((((31+(250)+(252/4)100)/100)+5)*1=
(31+100+63+5)=199
Base 100 Speed
known:
IV=31
EV=252
Level=100
nature value=1
Base=100
((((31+(2100)+(252/4)100)/100)+5)*1=
(31+200+63+5)=299
A pokemon's base stat is not directly proportional to it's Speed. Take the formula :
F=MA
Let's say we keep variable F constant, so its value won't change. That means if M increases, then A has to decrease to keep F constant. That makes M and A inversely proportional; when one increases, the other decreases if the final variable is kept constant. In the same token, say we keep M constant. If A increases, then F must also increase since it is the result of the product of the two to keep M constant. These two are directly proportional; when one increases, the other increases too.
Because the Base stat variable is joined with others by a plus symbol, it will be influenced by the variables before going into division, meaning it won't be directly doubled since you have the other numbers contributing to it as well. Had the formula just been multiplication, like Stat= (base/ nature),
then it would in fact double the stat, since that goes into direct proportion. Sorry if this is a bit complicated.