I'm paralyzed between branches and float curves to make a proper running/sprinting switch system

I’m using three root motion animations for moving forward: (walk - run - sprint) in a blend space, speed parameters: (0.5 - 1.0 - 1.5) for each one, and my inputs are: Caps Lock(toggles “Run” On or Off using Flipflop) and Left Shift(Sprint while holding the key). I’m using float curves a side with clamps to make a transition for the speed parameter of the blend space (increasing and decreasing speed by delta time to smoothly switch between the three animations), so with the inputs I have (Run On - Run Off) and (Sprinting - Not Sprinting), I have like six transitions of speed between the three animations: (Walk>Run - Walk>Sprint - Run>Sprint - Sprint>Run - Sprint>Walk - Run>Walk), but the problem is that to determine the current and the target speed (to deliver the flow to the right curve calculations), I have 12 conditions or more… and although it looks ugly or giant slow there in the tick event blueprint but it’s not working as I want too! Can anyone give me a solid compact solution or just a working one? Here are the two blueprints controlling it: (I have the custom event take updated and the inputs graphs correct too but no need to upload that basic stuff here)

I’m sorry I figured it out myself … I was adjusting the min/max values of the Clamp block as it’s for the speed curve Y value (the speed itself) not the X value (the time) !