subroutine s(a, b)
complex(kind=8), intent(inout) :: a, b
a = a ** b
end subroutine s
flang -mmlir --mlir-print-ir-before-all -S t.f90
# before
%5 = fir.call @cpow(%3, %4) fastmath<contract> : (complex<f64>, complex<f64>) -> complex<f64>
# after
%9 = fir.call @cpow(%5, %6, %7, %8) : (f64, f64, f64, f64) -> tuple<f64, f64>