Fix for issue where numext::imag and numext::real are used before they are defined.
This is a fix for an issue that was found by AMD's internal CI testing.
In commit c0eb5f89, numext::imag and numext::real are used before they are defined.
This caused the HIP compiler to give an error when attempting to compile this.
This fix addresses the issue.
/cc @cantonios