Here are my tests. See beginning of post for Electro Ball data. By target, I mean "target of Electro Ball", not some kind of goal.

1. Increases / decreases (+6 to -6)

Electro Ball mon Speed: 113

Target Speed: 151

Target modifiers: -6

Electro Ball BP: 120

Implied Speed stat: 37

Implication of test: Boosts / drops are floored.

2. Pledge Swamp

Electro Ball mon Speed: 113

Target Speed: 151 and 150

Target modifiers: Pledge Swamp

Electro Ball BP: 80 for 151 Speed and 120 for 150 Speed

Implied Speed stat: 38 for 151 Speed and 37 for 150 Speed

Implication of test: Pledge Swamp is pokeRounded.

All other Speed modifiers need to be tested alongside other modifiers to be meaningful, as floor(0.5) and pokeRound(0.5) are equivalent.

3. Increases / decreases with Choice Scarf

Electro Ball mon Speed: 113

Target Speed: 38

Target modifiers: -1, Choice Scarf

Electro Ball BP: 120

Implied Speed stat: 37

Implication of test: Increases / decreases are calculated before Choice Scarf with certainty. Could be:

Floor(Floor(x*2/3)*1.5) OR pokeRound(Floor(x*2/3)*1.5)

4. Increases / decreases with Tailwind

Electro Ball mon Speed: 152

Target Speed: 17

Target modifiers: +1, Tailwind

Electro Ball BP: 120

Implied Speed stat: 50

Implication of test: Increases / decreases must be calculated before Tailwind with certainty. Could be:

Floor(Floor(x*1.5)*2) OR pokeRound(Floor(x*1.5)*2)

5. Choice Scarf with Tailwind

Electro Ball mon Speed: 152

Target Speed: 17

Target modifiers: Choice Scarf, Tailwind

Electro Ball BP: 80

Implied Speed stat: 51

Implication of test: Choice Scarf must not be calculated before Tailwind with certainty. It could be at the same time, or Scarf could be calculated afterwards. Could be:

Floor(Floor(x*2)*1.5) OR Floor(pokeRound(x*2)*1.5) OR pokeRound(Floor(x*2)*1.5) OR pokeRound(pokeRound(x*2)*1.5) OR Floor(x*2*1.5) OR pokeRound(x*2*1.5)

6. Paralysis with Tailwind (

**note: this is wrong, see second edit**)

Electro Ball mon Speed: 152

Target Speed: 51

Target modifiers: Paralysis, Tailwind

Electro Ball BP: 120

Implied Speed stat: 50

Implication of test: Paralysis is calculated before Tailwind with certainty. Could be:

Floor(Floor(x*0.5)*2) OR Floor(pokeRound(x*0.5)*2) OR pokeRound(Floor(x*0.5)*2) OR pokeRound(pokeRound(x*0.5)*2)

7. Choice Scarf with Quick Feet

Electro Ball mon Speed: 261

Target Speed: 39

Target modifiers: Choice Scarf, Quick Feet

Electro Ball BP: 80

Implied Speed stat: 88

Implication of test: Choice Scarf and Quick Feet must be calculated in the same step, and the entire step must be pokeRounded. Must be:

pokeRound(x*1.5*1.5)

8. Increases / decreases with paralysis

Electro Ball mon Speed: 129

Target Speed: 59

Target modifiers: +1, paralysis

Electro Ball BP: 80

Implied Speed stat: 44

Implication of test: Paralysis must not be calculated before increases / decreases. Could be:

Floor(x*0.5*boost or drop) OR Floor(Floor(x*boost or drop)*0.5) OR pokeRound(Floor(x*boost or drop)*0.5)

As an aside,

Stats proved that these first two formulas are equivalent (the third is also technically equivalent mathematically).

9. Scarf + Quick Feet + Tailwind (NOTE: I was compared 60 to 80 BP for Electro Ball on this one)

Electro Ball mon Speed: 350

Target Speed: 39

Target modifiers: Choice Scarf, Quick Feet, Tailwind

Electro Ball BP: 80

Implied Speed stat: 175

Implication of test: Tailwind must not be calculated in a different step after Choice Scarf and Quick Feet. Tailwind could be calculated before or at the same time as Choice Scarf / Quick Feet. Could be:

pokeRound(x*2*1.5*1.5) OR pokeRound((x*2)*1.5*1.5)

10. Scarf + Chlorophyll / Swift Swim / Sand Rush / Slush Rush / Surge Surfer

Electro Ball mon Speed: 348

Target Speed: 39

Target modifiers: appropriate 2x multiplier + Choice Scarf

Electro Ball BP: 80 for all (tested all)

Implied Speed stat: 117

Implication of test: These 2x multipliers must not be calculated in a different step after Choice Scarf. 2x multiplies could be calculated before or at the same time as Choice Scarf. Could be:

pokeRound(x*2*1.5) OR pokeRound((x*2)*1.5)

11. Pledge Swamp + Unburden / Quick Powder

Electro Ball mon Speed: 150

Target Speed: 102

Target modifiers: Pledge Swamp and Unburden / Pledge Swamp and Quick Powder

Electro Ball BP: 80 for both (tested both)

Implied Speed stat: 51

Implication of test: Unburden / Quick Powder must not be calculated in a different step after Pledge Swamp. Unburden / Quick Powder could be calculated before or at the same time as Pledge Swamp. Could be:

pokeRound(x*2*0.25) OR pokeRound((x*2)*0.25)

12. Choice Scarf and Slow Start

Electro Ball mon Speed: 117

Target Speed: 53

Target modifiers: Choice Scarf, Slow Start

Electro Ball BP: 80

Implied Speed stat: 40

Implication of test: Choice Scarf and Slow Start must be calculated in the same step. Must be:

pokeRound(x*1.5*0.5)

13. Quick Feet and Iron Ball / Power items

Electro Ball mon Speed: 117

Target Speed: 53

Target modifiers: Quick Feet / Iron Ball and Quick Feet / Power Anklet

Electro Ball BP: 80 for both (tested both)

Implied Speed stat: 40

Implication of test: Quick Feet, Iron Ball, and Power items must be calculated in the same step. Must be:

pokeRound(x*1.5*0.5)