anchor.diff:      do iz=1,Nz
          do ik=1,Nk
             tmp = f(nodes(nthread,iz,ik,:),ip)
  -          gtmp = gtmp + real(jacobian(nthread,iz,ik))*tmp
  +          gtmp = gtmp + realpart(jacobian(nthread,iz,ik))*tmp
          end do
       end do
       folding = gtmp
  
positive.code:   end subroutine integrate
  
    double precision function folding(ip,f,nt)
      integer, intent(in) :: ip,nt
      interface
         function f(x,i)
  
negative.code:              nodes(nthread,iz,ik,i) = x(i)
            end do
  
            jac = dsqrt(ptr_jacobian(bt,axes,h2,rh,ph,z))
            jacobian(nthread,iz,ik) = 2*(PI/Nk)*C(iz) * jac
  
         end do
  