program gfcbug43
  call try_fit (1)
  call try_fit (1)
contains
  subroutine try_fit (k)
    call fit (1, debug=.true.)
  end subroutine try_fit
  subroutine fit (k, debug)
    logical,  intent(in),  optional :: debug
    do j = 1, 2
      maxerr1 = funk (r ,x1 , x1)
    end do
    if (debug) then
      print *, "help"
    end if
  end subroutine fit
end program gfcbug43
