! -*- f90 -*-
! WARNING: This is a generated file!  Edits will be lost!
!
! Copyright (c) 2014 Cisco Systems, Inc.  All rights reserved.
! $COPYRIGHT$
!
! This file was generated by gen-mpi-sizeof.pl for all the MPI_SIZEOF
! interface possibilities for intrinsic types.  Once TS 29113 is
! supported in all compilers, we can simply have *one* procedure for
! each type and use dimension(..) to indicate scalars+all array ranks.
! But until more compilers support this, we simply generate a
! procedure for scalars and all possible ranks in an attempt to
! support lots of Fortran compilers.

      SUBROUTINE MPI_Sizeof_character_scalar(x, size, ierror)
      CHARACTER::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_scalar

      SUBROUTINE MPI_Sizeof_character_r1(x, size, ierror)
      CHARACTER, DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r1

      SUBROUTINE MPI_Sizeof_character_r2(x, size, ierror)
      CHARACTER, DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r2

      SUBROUTINE MPI_Sizeof_character_r3(x, size, ierror)
      CHARACTER, DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r3

      SUBROUTINE MPI_Sizeof_character_r4(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r4

      SUBROUTINE MPI_Sizeof_character_r5(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r5

      SUBROUTINE MPI_Sizeof_character_r6(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r6

      SUBROUTINE MPI_Sizeof_character_r7(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r7

      SUBROUTINE MPI_Sizeof_character_r8(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r8

      SUBROUTINE MPI_Sizeof_character_r9(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r9

      SUBROUTINE MPI_Sizeof_character_r10(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r10

      SUBROUTINE MPI_Sizeof_character_r11(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r11

      SUBROUTINE MPI_Sizeof_character_r12(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r12

      SUBROUTINE MPI_Sizeof_character_r13(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r13

      SUBROUTINE MPI_Sizeof_character_r14(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r14

      SUBROUTINE MPI_Sizeof_character_r15(x, size, ierror)
      CHARACTER, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_character_r15

      SUBROUTINE MPI_Sizeof_complex32_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_scalar

      SUBROUTINE MPI_Sizeof_complex32_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r1

      SUBROUTINE MPI_Sizeof_complex32_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r2

      SUBROUTINE MPI_Sizeof_complex32_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r3

      SUBROUTINE MPI_Sizeof_complex32_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r4

      SUBROUTINE MPI_Sizeof_complex32_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r5

      SUBROUTINE MPI_Sizeof_complex32_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r6

      SUBROUTINE MPI_Sizeof_complex32_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r7

      SUBROUTINE MPI_Sizeof_complex32_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r8

      SUBROUTINE MPI_Sizeof_complex32_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r9

      SUBROUTINE MPI_Sizeof_complex32_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r10

      SUBROUTINE MPI_Sizeof_complex32_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r11

      SUBROUTINE MPI_Sizeof_complex32_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r12

      SUBROUTINE MPI_Sizeof_complex32_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r13

      SUBROUTINE MPI_Sizeof_complex32_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r14

      SUBROUTINE MPI_Sizeof_complex32_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      COMPLEX(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex32_r15

      SUBROUTINE MPI_Sizeof_complex64_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_scalar

      SUBROUTINE MPI_Sizeof_complex64_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r1

      SUBROUTINE MPI_Sizeof_complex64_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r2

      SUBROUTINE MPI_Sizeof_complex64_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r3

      SUBROUTINE MPI_Sizeof_complex64_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r4

      SUBROUTINE MPI_Sizeof_complex64_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r5

      SUBROUTINE MPI_Sizeof_complex64_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r6

      SUBROUTINE MPI_Sizeof_complex64_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r7

      SUBROUTINE MPI_Sizeof_complex64_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r8

      SUBROUTINE MPI_Sizeof_complex64_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r9

      SUBROUTINE MPI_Sizeof_complex64_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r10

      SUBROUTINE MPI_Sizeof_complex64_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r11

      SUBROUTINE MPI_Sizeof_complex64_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r12

      SUBROUTINE MPI_Sizeof_complex64_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r13

      SUBROUTINE MPI_Sizeof_complex64_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r14

      SUBROUTINE MPI_Sizeof_complex64_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      COMPLEX(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_complex64_r15

      SUBROUTINE MPI_Sizeof_int16_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_scalar

      SUBROUTINE MPI_Sizeof_int16_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r1

      SUBROUTINE MPI_Sizeof_int16_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r2

      SUBROUTINE MPI_Sizeof_int16_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r3

      SUBROUTINE MPI_Sizeof_int16_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r4

      SUBROUTINE MPI_Sizeof_int16_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r5

      SUBROUTINE MPI_Sizeof_int16_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r6

      SUBROUTINE MPI_Sizeof_int16_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r7

      SUBROUTINE MPI_Sizeof_int16_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r8

      SUBROUTINE MPI_Sizeof_int16_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r9

      SUBROUTINE MPI_Sizeof_int16_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r10

      SUBROUTINE MPI_Sizeof_int16_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r11

      SUBROUTINE MPI_Sizeof_int16_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r12

      SUBROUTINE MPI_Sizeof_int16_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r13

      SUBROUTINE MPI_Sizeof_int16_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r14

      SUBROUTINE MPI_Sizeof_int16_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT16
      INTEGER(INT16), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int16_r15

      SUBROUTINE MPI_Sizeof_int32_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_scalar

      SUBROUTINE MPI_Sizeof_int32_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r1

      SUBROUTINE MPI_Sizeof_int32_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r2

      SUBROUTINE MPI_Sizeof_int32_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r3

      SUBROUTINE MPI_Sizeof_int32_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r4

      SUBROUTINE MPI_Sizeof_int32_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r5

      SUBROUTINE MPI_Sizeof_int32_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r6

      SUBROUTINE MPI_Sizeof_int32_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r7

      SUBROUTINE MPI_Sizeof_int32_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r8

      SUBROUTINE MPI_Sizeof_int32_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r9

      SUBROUTINE MPI_Sizeof_int32_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r10

      SUBROUTINE MPI_Sizeof_int32_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r11

      SUBROUTINE MPI_Sizeof_int32_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r12

      SUBROUTINE MPI_Sizeof_int32_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r13

      SUBROUTINE MPI_Sizeof_int32_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r14

      SUBROUTINE MPI_Sizeof_int32_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT32
      INTEGER(INT32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int32_r15

      SUBROUTINE MPI_Sizeof_int64_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_scalar

      SUBROUTINE MPI_Sizeof_int64_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r1

      SUBROUTINE MPI_Sizeof_int64_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r2

      SUBROUTINE MPI_Sizeof_int64_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r3

      SUBROUTINE MPI_Sizeof_int64_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r4

      SUBROUTINE MPI_Sizeof_int64_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r5

      SUBROUTINE MPI_Sizeof_int64_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r6

      SUBROUTINE MPI_Sizeof_int64_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r7

      SUBROUTINE MPI_Sizeof_int64_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r8

      SUBROUTINE MPI_Sizeof_int64_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r9

      SUBROUTINE MPI_Sizeof_int64_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r10

      SUBROUTINE MPI_Sizeof_int64_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r11

      SUBROUTINE MPI_Sizeof_int64_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r12

      SUBROUTINE MPI_Sizeof_int64_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r13

      SUBROUTINE MPI_Sizeof_int64_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r14

      SUBROUTINE MPI_Sizeof_int64_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT64
      INTEGER(INT64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int64_r15

      SUBROUTINE MPI_Sizeof_int8_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_scalar

      SUBROUTINE MPI_Sizeof_int8_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r1

      SUBROUTINE MPI_Sizeof_int8_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r2

      SUBROUTINE MPI_Sizeof_int8_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r3

      SUBROUTINE MPI_Sizeof_int8_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r4

      SUBROUTINE MPI_Sizeof_int8_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r5

      SUBROUTINE MPI_Sizeof_int8_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r6

      SUBROUTINE MPI_Sizeof_int8_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r7

      SUBROUTINE MPI_Sizeof_int8_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r8

      SUBROUTINE MPI_Sizeof_int8_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r9

      SUBROUTINE MPI_Sizeof_int8_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r10

      SUBROUTINE MPI_Sizeof_int8_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r11

      SUBROUTINE MPI_Sizeof_int8_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r12

      SUBROUTINE MPI_Sizeof_int8_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r13

      SUBROUTINE MPI_Sizeof_int8_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r14

      SUBROUTINE MPI_Sizeof_int8_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: INT8
      INTEGER(INT8), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_int8_r15

      SUBROUTINE MPI_Sizeof_logical_scalar(x, size, ierror)
      LOGICAL::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_scalar

      SUBROUTINE MPI_Sizeof_logical_r1(x, size, ierror)
      LOGICAL, DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r1

      SUBROUTINE MPI_Sizeof_logical_r2(x, size, ierror)
      LOGICAL, DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r2

      SUBROUTINE MPI_Sizeof_logical_r3(x, size, ierror)
      LOGICAL, DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r3

      SUBROUTINE MPI_Sizeof_logical_r4(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r4

      SUBROUTINE MPI_Sizeof_logical_r5(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r5

      SUBROUTINE MPI_Sizeof_logical_r6(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r6

      SUBROUTINE MPI_Sizeof_logical_r7(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r7

      SUBROUTINE MPI_Sizeof_logical_r8(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r8

      SUBROUTINE MPI_Sizeof_logical_r9(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r9

      SUBROUTINE MPI_Sizeof_logical_r10(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r10

      SUBROUTINE MPI_Sizeof_logical_r11(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r11

      SUBROUTINE MPI_Sizeof_logical_r12(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r12

      SUBROUTINE MPI_Sizeof_logical_r13(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r13

      SUBROUTINE MPI_Sizeof_logical_r14(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r14

      SUBROUTINE MPI_Sizeof_logical_r15(x, size, ierror)
      LOGICAL, DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_logical_r15

      SUBROUTINE MPI_Sizeof_real32_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_scalar

      SUBROUTINE MPI_Sizeof_real32_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r1

      SUBROUTINE MPI_Sizeof_real32_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r2

      SUBROUTINE MPI_Sizeof_real32_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r3

      SUBROUTINE MPI_Sizeof_real32_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r4

      SUBROUTINE MPI_Sizeof_real32_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r5

      SUBROUTINE MPI_Sizeof_real32_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r6

      SUBROUTINE MPI_Sizeof_real32_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r7

      SUBROUTINE MPI_Sizeof_real32_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r8

      SUBROUTINE MPI_Sizeof_real32_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r9

      SUBROUTINE MPI_Sizeof_real32_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r10

      SUBROUTINE MPI_Sizeof_real32_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r11

      SUBROUTINE MPI_Sizeof_real32_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r12

      SUBROUTINE MPI_Sizeof_real32_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r13

      SUBROUTINE MPI_Sizeof_real32_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r14

      SUBROUTINE MPI_Sizeof_real32_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL32
      REAL(REAL32), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real32_r15

      SUBROUTINE MPI_Sizeof_real64_scalar(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_scalar

      SUBROUTINE MPI_Sizeof_real64_r1(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r1

      SUBROUTINE MPI_Sizeof_real64_r2(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r2

      SUBROUTINE MPI_Sizeof_real64_r3(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r3

      SUBROUTINE MPI_Sizeof_real64_r4(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r4

      SUBROUTINE MPI_Sizeof_real64_r5(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r5

      SUBROUTINE MPI_Sizeof_real64_r6(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r6

      SUBROUTINE MPI_Sizeof_real64_r7(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r7

      SUBROUTINE MPI_Sizeof_real64_r8(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r8

      SUBROUTINE MPI_Sizeof_real64_r9(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r9

      SUBROUTINE MPI_Sizeof_real64_r10(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r10

      SUBROUTINE MPI_Sizeof_real64_r11(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r11

      SUBROUTINE MPI_Sizeof_real64_r12(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r12

      SUBROUTINE MPI_Sizeof_real64_r13(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r13

      SUBROUTINE MPI_Sizeof_real64_r14(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r14

      SUBROUTINE MPI_Sizeof_real64_r15(x, size, ierror)
        USE, INTRINSIC :: iso_fortran_env, ONLY: REAL64
      REAL(REAL64), DIMENSION(1,1,1,1,1,1,1,1,1,1,1,1,1,1,*)::x
        INTEGER, INTENT(OUT) :: size
        INTEGER, OPTIONAL, INTENT(OUT) :: ierror

        size = storage_size(x) / 8
        IF (present(ierror)) ierror = 0
      END SUBROUTINE MPI_Sizeof_real64_r15

