https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91568
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- Reduced testcase: subroutine h3dmpeval0(iffld,fhs,fhder,z) implicit real *8 (a-h,o-z) complex *16 fhs(0:1),fhder(0:1) complex *16 z call h3dall(1,z,fhs,fhder) end subroutine h3dall(nterms,z,hvec,hder) implicit real *8 (a-h,o-z) complex *16 hvec(0:1),hder(0:1) complex *16 zk2,z,zinv,ztmp,fhextra data thresh/1.0d-15/,done/1.0d0/ if (abs(z).lt.thresh) then return endif call h3d01 zinv=1.0d0/z do i=1,nterms dtmp=(i+done) ztmp=zinv*dtmp hder(i)=hvec(i-1)-ztmp*hvec(i) enddo return end