function fortran() bind(C)
use, intrinsic :: iso_c_binding, only: dp=>c_double
implicit none
real(dp) :: r, fortran
call random_number(r)
fortran = 2._dp**r
end function fortran