      subroutine MFNMonitorCancel(a,z)
       MFN a ! MFN
       integer z
       end subroutine
      subroutine MFNSetFromOptions(a,z)
       MFN a ! MFN
       integer z
       end subroutine
      subroutine MFNGetTolerances(a,b,c,z)
       MFN a ! MFN
       PetscReal b ! PetscReal
       PetscInt c ! PetscInt
       integer z
       end subroutine
      subroutine MFNSetTolerances(a,b,c,z)
       MFN a ! MFN
       PetscReal b ! PetscReal
       PetscInt c ! PetscInt
       integer z
       end subroutine
      subroutine MFNGetDimensions(a,b,z)
       MFN a ! MFN
       PetscInt b ! PetscInt
       integer z
       end subroutine
      subroutine MFNSetDimensions(a,b,z)
       MFN a ! MFN
       PetscInt b ! PetscInt
       integer z
       end subroutine
      subroutine MFNSetErrorIfNotConverged(a,b,z)
       MFN a ! MFN
       PetscBool b ! PetscBool
       integer z
       end subroutine
      subroutine MFNGetErrorIfNotConverged(a,b,z)
       MFN a ! MFN
       PetscBool b ! PetscBool
       integer z
       end subroutine
      subroutine MFNSetUp(a,z)
       MFN a ! MFN
       integer z
       end subroutine
      subroutine MFNSetOperator(a,b,z)
       MFN a ! MFN
       Mat b ! Mat
       integer z
       end subroutine
      subroutine MFNGetOperator(a,b,z)
       MFN a ! MFN
       Mat b ! Mat
       integer z
       end subroutine
      subroutine MFNAllocateSolution(a,b,z)
       MFN a ! MFN
       PetscInt b ! PetscInt
       integer z
       end subroutine
      subroutine MFNReasonViewFromOptions(a,z)
       MFN a ! MFN
       integer z
       end subroutine
      subroutine MFNCreate(a,b,z)
       integer a ! MPI_Comm
       MFN b ! MFN
       integer z
       end subroutine
      subroutine MFNReset(a,z)
       MFN a ! MFN
       integer z
       end subroutine
      subroutine MFNDestroy(a,z)
       MFN a ! MFN
       integer z
       end subroutine
      subroutine MFNSetBV(a,b,z)
       MFN a ! MFN
       BV b ! BV
       integer z
       end subroutine
      subroutine MFNGetBV(a,b,z)
       MFN a ! MFN
       BV b ! BV
       integer z
       end subroutine
      subroutine MFNSetFN(a,b,z)
       MFN a ! MFN
       FN b ! FN
       integer z
       end subroutine
      subroutine MFNGetFN(a,b,z)
       MFN a ! MFN
       FN b ! FN
       integer z
       end subroutine
      subroutine MFNSolve(a,b,c,z)
       MFN a ! MFN
       Vec b ! Vec
       Vec c ! Vec
       integer z
       end subroutine
      subroutine MFNGetIterationNumber(a,b,z)
       MFN a ! MFN
       PetscInt b ! PetscInt
       integer z
       end subroutine
      subroutine MFNGetConvergedReason(a,b,z)
       MFN a ! MFN
       MFNConvergedReason b ! MFNConvergedReason
       integer z
       end subroutine
