transform.TransformDirection() returns NaN

I have a child of a moving/rotating object, and I’m trying to determine my controller inputs relative to the child’s local rotation. Using transform.TransformDirection(), I get a NaN result about once every 1,000 frames.
_
I also tried using trig to adjust the input vector against the child’s transform.forward manually, with even more frequent NaN results.
_
I’m running this check in Update, running it in FixedUpdate caused much more frequent NaN results.
_
Neither the parent nor child’s local rotation seem to affect frequency as currently implemented.
_
I have isolated the code to ensure it is the return value that is NaN, and not a result of later calculations.

Vector2 input;
Vector3 relInput;

void Update()
{
input = new Vector2(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"));
relInput = transform.TransformDirection(input.x, input.y, 0);

Debug.Log(relInput);
}

Any help figuring this out would be appreciated. For now my temp workaround is to check the vector for NaN values and hold the previous frame’s result for any frames that return NaN.

After further examination, it appears to be a problem with either my controller or its driver. It is occasionally returning Infinity or -Infinity on GetAxisRaw.