In Wind Waker HD, Link can move around while aiming with an item in first person mode. For some unknown reason, if Link is walking in a direction and then tries to walk in the opposite direction with the slightest tilt of the analog stick (otherwise known as ESS position), his speed ends up increasing exponentially in the direction he was first walking. This allows Link to reach speed values that are so high, the game will crash if the speed is released too late or charged for too long.
The speed that is gained while performing an Item Slide using the above method is considered "negative speed" by the game. Negative speed and positive speed give different properties when it comes to Link clipping through certain surfaces and Link entering the water, along with sending Link in the opposite direction you would expect for the item you use after targeting. Targeting with positive speed using Grapple, Boomerang, or Bow will send link to the right instead of the left. Targeting with positive speed using Hookshot will send link to the left instead of the right.
Switching from negative to positive speed can be done by performing an item slide as usual up to step 4 of the above steps, then holding the direction you are now moving. If you Item slide forward, then hold up a moment after building some speed with the item slide, you will switch to positive. Holding back again will switch you back to negative.
This can also be done after targeting out of the item slide by holding target, then holding up relative to link to switch to positive, or down relative to link to switch back to negative.
An Inverted Item Slide will change the direction that Link is sent after targeting. Whereas with a normal forward Item Slide using the Grapple Hook, Boomerang, or Bow, targeting will send link to the left, an Inverted Item Slide forward using these items will send link to the right. Similarly, a normal forward Item Slide using the Hookshot sends link to the right, where an Inverted Item Slide forward using Hookshot sends link to the left. The speed that is gained while performing an Inverted Item Slide is negative - just like a normal item slide.
The game has a check (assertion) that your potential position is staying smaller than 100000000000000000000000000000000 (1.0*10^32) plus or minus on every axis. If it gets bigger, the game hangs forever voluntarily. On CEMU the function is either not implemented yet or doesn't halt execution, you can build up speed infinitely. The maximum speed possible then is 3.402823466(10^38) (max float size). It simply does not increase any further nor do you overflow/get infinity. If you reach that speed you stay at that level (takes like 8 seconds).
Now the way collisions seem to work is that the game casts a line between your old position and your new position every frame (old pos + speed value = new pos) and checks if there is any collidable wall/object in-between. If there is the game adjusts the new position to stay on the in-bounds side of the collision. So while a certain, not even that high, speed would just take you through the barrier, the check notices the barrier is in-between, and so you only be moved to the barrier. This sort of collision check seems to fail on some edges/stairs and uneven terrain (especially with higher speeds), and so the game doesn't detect any collisions. If you do this on a wall that leads to an OoB area and no further collisions are after it that might get detected, you will be moved the full amount of your speed value.(edited) After only like 3 seconds or so, your speed is so high that you get set to a location that is so far OoB that it simply cannot be rendered anymore. The renderer, at least, crashes in that case and you hardlock (both SD/HD). This also happens if you manually edit your position to such a high value. Since only one island is loaded at a time, locks can easily happen on the ocean if you shoot off one island. Since the terrain is very uneven, you also clip pretty often once you reach a high speed making it look like the speed crashed the game; in that case, however, it is often your position and not the speed that causes the issue.
Error message for too high speed/position on TWW SD (is checked before collision check):
"Failed assertion -1.0e32f < pmpos->x && pmpos->x < 1.0e32f && -1.0e32f < pmpos->y && pmpos->y < 1.0e32f && -1.0e32f < pmpos->z && pmpos->z < 1.0e32f in "dbgs_acch.cpp" on line 541"**