Why is the GetInputKeyTimeDown starting at -16 Seconds?

Does delta seconds give you a negative value at the start?
As a workaround you could substitute the get input key time down with:
branch is charging attack, if true set time held down = time held down + delta seconds
You will need a time held down reset though
Probably not as efficient as a get input key time down, but it may work until you solve the negative time problem

Good luck!
Btw i suggest you to look at the “clamp float” function