program prob2
    implicit none
    integer :: x1, x2, y1, y2
    integer :: a, b, x3, x4, y3, y4
    character(30) :: s,t,u,v
    read(*,*) x1, y1, x2, y2

    a = x2 - x1
    b = y2 - y1
    x3 = x2 - b
    x4 = x1 - b
    y3 = y2 + a
    y4 = y1 + a
    write(s,*) x3
    write(t,*) y3
    write(u,*) x4
    write(v,*) y4
    write(*,'(a,3(1X,a))') trim(adjustl(s)), trim(adjustl(t)), trim(adjustl(u)), trim(adjustl(v))



    stop
contains
end program prob2
; ModuleID = 'FIRModule'
source_filename = "FIRModule"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-pc-linux-gnu"

@_QQcl.58d02f21285ec511cab963b058af914d = linkonce constant [73 x i8] c"/home/ubuntu/Downloads/TheStack_IR/Collated/Fortran/Source_5585/source.f\00"
@_QQcl.28612C332831582C612929 = linkonce constant [11 x i8] c"(a,3(1X,a))"
@_QQEnvironmentDefaults = local_unnamed_addr constant ptr null

; Function Attrs: mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite)
declare void @free(ptr allocptr nocapture noundef) local_unnamed_addr #0

; Function Attrs: noreturn
define void @_QQmain() local_unnamed_addr #1 {
  %1 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %2 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %3 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %4 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %5 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %6 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %7 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %8 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %9 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %10 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %11 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %12 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %13 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %14 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %15 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %16 = alloca { ptr, i64, i32, i8, i8, i8, i8 }, align 8
  %17 = alloca [30 x i8], align 1
  %18 = alloca [30 x i8], align 1
  %19 = alloca [30 x i8], align 1
  %20 = alloca [30 x i8], align 1
  %21 = alloca i32, align 4
  %22 = alloca i32, align 4
  %23 = alloca i32, align 4
  %24 = alloca i32, align 4
  %25 = tail call ptr @_FortranAioBeginExternalListInput(i32 -1, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 6)
  %26 = call i1 @_FortranAioInputInteger(ptr %25, ptr nonnull %21, i32 4)
  %27 = call i1 @_FortranAioInputInteger(ptr %25, ptr nonnull %23, i32 4)
  %28 = call i1 @_FortranAioInputInteger(ptr %25, ptr nonnull %22, i32 4)
  %29 = call i1 @_FortranAioInputInteger(ptr %25, ptr nonnull %24, i32 4)
  %30 = call i32 @_FortranAioEndIoStatement(ptr %25)
  %31 = load i32, ptr %22, align 4, !tbaa !3
  %32 = load i32, ptr %21, align 4, !tbaa !3
  %33 = sub i32 %31, %32
  %34 = load i32, ptr %24, align 4, !tbaa !3
  %35 = load i32, ptr %23, align 4, !tbaa !3
  %36 = sub i32 %34, %35
  %37 = sub i32 %31, %36
  %38 = sub i32 %32, %36
  %39 = add i32 %34, %33
  %40 = add i32 %35, %33
  %41 = call ptr @_FortranAioBeginInternalListOutput(ptr nonnull %17, i64 30, ptr null, i64 0, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 14)
  %42 = call i1 @_FortranAioOutputInteger32(ptr %41, i32 %37)
  %43 = call i32 @_FortranAioEndIoStatement(ptr %41)
  %44 = call ptr @_FortranAioBeginInternalListOutput(ptr nonnull %18, i64 30, ptr null, i64 0, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 15)
  %45 = call i1 @_FortranAioOutputInteger32(ptr %44, i32 %39)
  %46 = call i32 @_FortranAioEndIoStatement(ptr %44)
  %47 = call ptr @_FortranAioBeginInternalListOutput(ptr nonnull %19, i64 30, ptr null, i64 0, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 16)
  %48 = call i1 @_FortranAioOutputInteger32(ptr %47, i32 %38)
  %49 = call i32 @_FortranAioEndIoStatement(ptr %47)
  %50 = call ptr @_FortranAioBeginInternalListOutput(ptr nonnull %20, i64 30, ptr null, i64 0, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 17)
  %51 = call i1 @_FortranAioOutputInteger32(ptr %50, i32 %40)
  %52 = call i32 @_FortranAioEndIoStatement(ptr %50)
  %53 = call ptr @_FortranAioBeginExternalFormattedOutput(ptr nonnull @_QQcl.28612C332831582C612929, i64 11, ptr null, i32 -1, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  store ptr %17, ptr %8, align 8, !tbaa !7
  %.fca.1.gep263 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %8, i64 0, i32 1
  store i64 30, ptr %.fca.1.gep263, align 8, !tbaa !7
  %.fca.2.gep265 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %8, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep265, align 8, !tbaa !7
  %.fca.3.gep267 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %8, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep267, align 4, !tbaa !7
  %.fca.4.gep269 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %8, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep269, align 1, !tbaa !7
  %.fca.5.gep271 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %8, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep271, align 2, !tbaa !7
  %.fca.6.gep273 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %8, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep273, align 1, !tbaa !7
  %.fca.1.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %16, i64 0, i32 1
  %.fca.2.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %16, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %16, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep, align 8, !tbaa !7
  %.fca.3.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %16, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep, align 4, !tbaa !7
  %.fca.4.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %16, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep, align 1, !tbaa !7
  %.fca.5.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %16, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep, align 2, !tbaa !7
  %.fca.6.gep = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %16, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep, align 1, !tbaa !7
  %54 = call {} @_FortranAAdjustl(ptr nonnull %16, ptr nonnull %8, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load = load ptr, ptr %16, align 8, !tbaa !7
  %.fca.1.load = load i64, ptr %.fca.1.gep, align 8, !tbaa !7
  store ptr %.fca.0.load, ptr %7, align 8, !tbaa !7
  %.fca.1.gep495 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %7, i64 0, i32 1
  store i64 %.fca.1.load, ptr %.fca.1.gep495, align 8, !tbaa !7
  %.fca.2.gep497 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %7, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep497, align 8, !tbaa !7
  %.fca.3.gep499 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %7, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep499, align 4, !tbaa !7
  %.fca.4.gep501 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %7, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep501, align 1, !tbaa !7
  %.fca.5.gep503 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %7, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep503, align 2, !tbaa !7
  %.fca.6.gep505 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %7, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep505, align 1, !tbaa !7
  %.fca.1.gep18 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %15, i64 0, i32 1
  %.fca.2.gep20 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %15, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %15, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep20, align 8, !tbaa !7
  %.fca.3.gep22 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %15, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep22, align 4, !tbaa !7
  %.fca.4.gep24 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %15, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep24, align 1, !tbaa !7
  %.fca.5.gep26 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %15, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep26, align 2, !tbaa !7
  %.fca.6.gep28 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %15, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep28, align 1, !tbaa !7
  %55 = call {} @_FortranATrim(ptr nonnull %15, ptr nonnull %7, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load30 = load ptr, ptr %15, align 8, !tbaa !7
  %.fca.1.load33 = load i64, ptr %.fca.1.gep18, align 8, !tbaa !7
  %56 = call i1 @_FortranAioOutputAscii(ptr %53, ptr %.fca.0.load30, i64 %.fca.1.load33)
  call void @free(ptr %.fca.0.load30)
  call void @free(ptr %.fca.0.load)
  store ptr %18, ptr %6, align 8, !tbaa !7
  %.fca.1.gep516 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i64 0, i32 1
  store i64 30, ptr %.fca.1.gep516, align 8, !tbaa !7
  %.fca.2.gep518 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep518, align 8, !tbaa !7
  %.fca.3.gep520 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep520, align 4, !tbaa !7
  %.fca.4.gep522 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep522, align 1, !tbaa !7
  %.fca.5.gep524 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep524, align 2, !tbaa !7
  %.fca.6.gep526 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %6, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep526, align 1, !tbaa !7
  %.fca.1.gep53 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %14, i64 0, i32 1
  %.fca.2.gep55 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %14, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %14, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep55, align 8, !tbaa !7
  %.fca.3.gep57 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %14, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep57, align 4, !tbaa !7
  %.fca.4.gep59 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %14, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep59, align 1, !tbaa !7
  %.fca.5.gep61 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %14, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep61, align 2, !tbaa !7
  %.fca.6.gep63 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %14, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep63, align 1, !tbaa !7
  %57 = call {} @_FortranAAdjustl(ptr nonnull %14, ptr nonnull %6, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load65 = load ptr, ptr %14, align 8, !tbaa !7
  %.fca.1.load68 = load i64, ptr %.fca.1.gep53, align 8, !tbaa !7
  store ptr %.fca.0.load65, ptr %5, align 8, !tbaa !7
  %.fca.1.gep537 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %5, i64 0, i32 1
  store i64 %.fca.1.load68, ptr %.fca.1.gep537, align 8, !tbaa !7
  %.fca.2.gep539 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %5, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep539, align 8, !tbaa !7
  %.fca.3.gep541 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %5, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep541, align 4, !tbaa !7
  %.fca.4.gep543 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %5, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep543, align 1, !tbaa !7
  %.fca.5.gep545 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %5, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep545, align 2, !tbaa !7
  %.fca.6.gep547 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %5, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep547, align 1, !tbaa !7
  %.fca.1.gep88 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %13, i64 0, i32 1
  %.fca.2.gep90 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %13, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %13, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep90, align 8, !tbaa !7
  %.fca.3.gep92 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %13, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep92, align 4, !tbaa !7
  %.fca.4.gep94 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %13, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep94, align 1, !tbaa !7
  %.fca.5.gep96 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %13, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep96, align 2, !tbaa !7
  %.fca.6.gep98 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %13, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep98, align 1, !tbaa !7
  %58 = call {} @_FortranATrim(ptr nonnull %13, ptr nonnull %5, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load100 = load ptr, ptr %13, align 8, !tbaa !7
  %.fca.1.load103 = load i64, ptr %.fca.1.gep88, align 8, !tbaa !7
  %59 = call i1 @_FortranAioOutputAscii(ptr %53, ptr %.fca.0.load100, i64 %.fca.1.load103)
  call void @free(ptr %.fca.0.load100)
  call void @free(ptr %.fca.0.load65)
  store ptr %19, ptr %4, align 8, !tbaa !7
  %.fca.1.gep558 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %4, i64 0, i32 1
  store i64 30, ptr %.fca.1.gep558, align 8, !tbaa !7
  %.fca.2.gep560 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %4, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep560, align 8, !tbaa !7
  %.fca.3.gep562 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %4, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep562, align 4, !tbaa !7
  %.fca.4.gep564 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %4, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep564, align 1, !tbaa !7
  %.fca.5.gep566 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %4, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep566, align 2, !tbaa !7
  %.fca.6.gep568 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %4, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep568, align 1, !tbaa !7
  %.fca.1.gep123 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %12, i64 0, i32 1
  %.fca.2.gep125 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %12, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %12, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep125, align 8, !tbaa !7
  %.fca.3.gep127 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %12, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep127, align 4, !tbaa !7
  %.fca.4.gep129 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %12, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep129, align 1, !tbaa !7
  %.fca.5.gep131 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %12, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep131, align 2, !tbaa !7
  %.fca.6.gep133 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %12, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep133, align 1, !tbaa !7
  %60 = call {} @_FortranAAdjustl(ptr nonnull %12, ptr nonnull %4, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load135 = load ptr, ptr %12, align 8, !tbaa !7
  %.fca.1.load138 = load i64, ptr %.fca.1.gep123, align 8, !tbaa !7
  store ptr %.fca.0.load135, ptr %3, align 8, !tbaa !7
  %.fca.1.gep579 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %3, i64 0, i32 1
  store i64 %.fca.1.load138, ptr %.fca.1.gep579, align 8, !tbaa !7
  %.fca.2.gep581 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %3, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep581, align 8, !tbaa !7
  %.fca.3.gep583 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %3, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep583, align 4, !tbaa !7
  %.fca.4.gep585 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %3, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep585, align 1, !tbaa !7
  %.fca.5.gep587 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %3, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep587, align 2, !tbaa !7
  %.fca.6.gep589 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %3, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep589, align 1, !tbaa !7
  %.fca.1.gep158 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %11, i64 0, i32 1
  %.fca.2.gep160 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %11, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %11, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep160, align 8, !tbaa !7
  %.fca.3.gep162 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %11, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep162, align 4, !tbaa !7
  %.fca.4.gep164 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %11, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep164, align 1, !tbaa !7
  %.fca.5.gep166 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %11, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep166, align 2, !tbaa !7
  %.fca.6.gep168 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %11, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep168, align 1, !tbaa !7
  %61 = call {} @_FortranATrim(ptr nonnull %11, ptr nonnull %3, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load170 = load ptr, ptr %11, align 8, !tbaa !7
  %.fca.1.load173 = load i64, ptr %.fca.1.gep158, align 8, !tbaa !7
  %62 = call i1 @_FortranAioOutputAscii(ptr %53, ptr %.fca.0.load170, i64 %.fca.1.load173)
  call void @free(ptr %.fca.0.load170)
  call void @free(ptr %.fca.0.load135)
  store ptr %20, ptr %2, align 8, !tbaa !7
  %.fca.1.gep600 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i64 0, i32 1
  store i64 30, ptr %.fca.1.gep600, align 8, !tbaa !7
  %.fca.2.gep602 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep602, align 8, !tbaa !7
  %.fca.3.gep604 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep604, align 4, !tbaa !7
  %.fca.4.gep606 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep606, align 1, !tbaa !7
  %.fca.5.gep608 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep608, align 2, !tbaa !7
  %.fca.6.gep610 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %2, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep610, align 1, !tbaa !7
  %.fca.1.gep193 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %10, i64 0, i32 1
  %.fca.2.gep195 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %10, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %10, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep195, align 8, !tbaa !7
  %.fca.3.gep197 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %10, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep197, align 4, !tbaa !7
  %.fca.4.gep199 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %10, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep199, align 1, !tbaa !7
  %.fca.5.gep201 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %10, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep201, align 2, !tbaa !7
  %.fca.6.gep203 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %10, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep203, align 1, !tbaa !7
  %63 = call {} @_FortranAAdjustl(ptr nonnull %10, ptr nonnull %2, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load205 = load ptr, ptr %10, align 8, !tbaa !7
  %.fca.1.load208 = load i64, ptr %.fca.1.gep193, align 8, !tbaa !7
  store ptr %.fca.0.load205, ptr %1, align 8, !tbaa !7
  %.fca.1.gep621 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %1, i64 0, i32 1
  store i64 %.fca.1.load208, ptr %.fca.1.gep621, align 8, !tbaa !7
  %.fca.2.gep623 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %1, i64 0, i32 2
  store i32 20180515, ptr %.fca.2.gep623, align 8, !tbaa !7
  %.fca.3.gep625 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %1, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep625, align 4, !tbaa !7
  %.fca.4.gep627 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %1, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep627, align 1, !tbaa !7
  %.fca.5.gep629 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %1, i64 0, i32 5
  store i8 0, ptr %.fca.5.gep629, align 2, !tbaa !7
  %.fca.6.gep631 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %1, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep631, align 1, !tbaa !7
  %.fca.1.gep228 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %9, i64 0, i32 1
  %.fca.2.gep230 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %9, i64 0, i32 2
  call void @llvm.memset.p0.i64(ptr noundef nonnull align 8 dereferenceable(16) %9, i8 0, i64 16, i1 false)
  store i32 20180515, ptr %.fca.2.gep230, align 8, !tbaa !7
  %.fca.3.gep232 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %9, i64 0, i32 3
  store i8 0, ptr %.fca.3.gep232, align 4, !tbaa !7
  %.fca.4.gep234 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %9, i64 0, i32 4
  store i8 40, ptr %.fca.4.gep234, align 1, !tbaa !7
  %.fca.5.gep236 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %9, i64 0, i32 5
  store i8 2, ptr %.fca.5.gep236, align 2, !tbaa !7
  %.fca.6.gep238 = getelementptr inbounds { ptr, i64, i32, i8, i8, i8, i8 }, ptr %9, i64 0, i32 6
  store i8 0, ptr %.fca.6.gep238, align 1, !tbaa !7
  %64 = call {} @_FortranATrim(ptr nonnull %9, ptr nonnull %1, ptr nonnull @_QQcl.58d02f21285ec511cab963b058af914d, i32 18)
  %.fca.0.load240 = load ptr, ptr %9, align 8, !tbaa !7
  %.fca.1.load243 = load i64, ptr %.fca.1.gep228, align 8, !tbaa !7
  %65 = call i1 @_FortranAioOutputAscii(ptr %53, ptr %.fca.0.load240, i64 %.fca.1.load243)
  call void @free(ptr %.fca.0.load240)
  call void @free(ptr %.fca.0.load205)
  %66 = call i32 @_FortranAioEndIoStatement(ptr %53)
  %67 = call {} @_FortranAStopStatement(i32 0, i1 false, i1 false)
  unreachable
}

declare ptr @_FortranAioBeginExternalListInput(i32, ptr, i32) local_unnamed_addr

declare i1 @_FortranAioInputInteger(ptr, ptr, i32) local_unnamed_addr

declare i32 @_FortranAioEndIoStatement(ptr) local_unnamed_addr

declare ptr @_FortranAioBeginInternalListOutput(ptr, i64, ptr, i64, ptr, i32) local_unnamed_addr

declare i1 @_FortranAioOutputInteger32(ptr, i32) local_unnamed_addr

declare ptr @_FortranAioBeginExternalFormattedOutput(ptr, i64, ptr, i32, ptr, i32) local_unnamed_addr

declare i1 @_FortranAioOutputAscii(ptr, ptr, i64) local_unnamed_addr

declare {} @_FortranAAdjustl(ptr, ptr, ptr, i32) local_unnamed_addr

declare {} @_FortranATrim(ptr, ptr, ptr, i32) local_unnamed_addr

declare {} @_FortranAStopStatement(i32, i1, i1) local_unnamed_addr

; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write)
declare void @llvm.memset.p0.i64(ptr nocapture writeonly, i8, i64, i1 immarg) #2

attributes #0 = { mustprogress nounwind willreturn allockind("free") memory(argmem: readwrite, inaccessiblemem: readwrite) "alloc-family"="malloc" }
attributes #1 = { noreturn }
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: write) }

!llvm.module.flags = !{!0, !1, !2}

!0 = !{i32 2, !"Debug Info Version", i32 3}
!1 = !{i32 8, !"PIC Level", i32 2}
!2 = !{i32 7, !"PIE Level", i32 2}
!3 = !{!4, !4, i64 0}
!4 = !{!"any data access", !5, i64 0}
!5 = !{!"any access", !6, i64 0}
!6 = !{!"Flang Type TBAA Root"}
!7 = !{!8, !8, i64 0}
!8 = !{!"descriptor member", !5, i64 0}
