; ModuleID = 'LFortran'
source_filename = "LFortran"

@0 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@1 = private unnamed_addr constant [11 x i8] c"Excellent!\00", align 1
@2 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@3 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@4 = private unnamed_addr constant [11 x i8] c"Very good!\00", align 1
@5 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@6 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@7 = private unnamed_addr constant [11 x i8] c"Well done!\00", align 1
@8 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@9 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@10 = private unnamed_addr constant [9 x i8] c"Not bad!\00", align 1
@11 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@12 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@13 = private unnamed_addr constant [12 x i8] c"You passed!\00", align 1
@14 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@15 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@16 = private unnamed_addr constant [18 x i8] c"Better try again!\00", align 1
@17 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@18 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@19 = private unnamed_addr constant [14 x i8] c"Invalid marks\00", align 1
@20 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@21 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@22 = private unnamed_addr constant [16 x i8] c"Your marks are \00", align 1
@23 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@24 = private unnamed_addr constant [11 x i8] c"ERROR STOP\00", align 1
@25 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@26 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@27 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@28 = private unnamed_addr constant [11 x i8] c"Excellent!\00", align 1
@29 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@30 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@31 = private unnamed_addr constant [11 x i8] c"Very good!\00", align 1
@32 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@33 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@34 = private unnamed_addr constant [11 x i8] c"Well done!\00", align 1
@35 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@36 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@37 = private unnamed_addr constant [9 x i8] c"Not bad!\00", align 1
@38 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@39 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@40 = private unnamed_addr constant [12 x i8] c"You passed!\00", align 1
@41 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@42 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@43 = private unnamed_addr constant [18 x i8] c"Better try again!\00", align 1
@44 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@45 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@46 = private unnamed_addr constant [14 x i8] c"Invalid marks\00", align 1
@47 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@48 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@49 = private unnamed_addr constant [16 x i8] c"Your marks are \00", align 1
@50 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@51 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@52 = private unnamed_addr constant [11 x i8] c"Excellent!\00", align 1
@53 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@54 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@55 = private unnamed_addr constant [11 x i8] c"Very good!\00", align 1
@56 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@57 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@58 = private unnamed_addr constant [11 x i8] c"Well done!\00", align 1
@59 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@60 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@61 = private unnamed_addr constant [9 x i8] c"Not bad!\00", align 1
@62 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@63 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@64 = private unnamed_addr constant [12 x i8] c"You passed!\00", align 1
@65 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@66 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@67 = private unnamed_addr constant [18 x i8] c"Better try again!\00", align 1
@68 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@69 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@70 = private unnamed_addr constant [14 x i8] c"Invalid marks\00", align 1
@71 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1
@72 = private unnamed_addr constant [2 x i8] c"\0A\00", align 1
@73 = private unnamed_addr constant [16 x i8] c"Your marks are \00", align 1
@74 = private unnamed_addr constant [5 x i8] c"%s%s\00", align 1

define i32 @main(i32 %0, i8** %1) {
.entry:
  %marks = alloca i32, align 4
  %out = alloca i32, align 4
  call void @_lpython_call_initial_functions(i32 %0, i8** %1)
  %marks1 = alloca i32, align 4
  %out2 = alloca i32, align 4
  store i32 81, i32* %marks1, align 4
  %2 = load i32, i32* %marks1, align 4
  %3 = icmp sle i32 91, %2
  %4 = load i32, i32* %marks1, align 4
  %5 = icmp sle i32 %4, 100
  %6 = icmp eq i1 %3, false
  %7 = select i1 %6, i1 %3, i1 %5
  br i1 %7, label %then, label %else

then:                                             ; preds = %.entry
  store i32 0, i32* %out2, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @2, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @1, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @0, i32 0, i32 0))
  br label %ifcont17

else:                                             ; preds = %.entry
  %8 = load i32, i32* %marks1, align 4
  %9 = icmp sle i32 81, %8
  %10 = load i32, i32* %marks1, align 4
  %11 = icmp sle i32 %10, 90
  %12 = icmp eq i1 %9, false
  %13 = select i1 %12, i1 %9, i1 %11
  br i1 %13, label %then3, label %else4

then3:                                            ; preds = %else
  store i32 1, i32* %out2, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @5, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @4, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @3, i32 0, i32 0))
  br label %ifcont16

else4:                                            ; preds = %else
  %14 = load i32, i32* %marks1, align 4
  %15 = icmp sle i32 71, %14
  %16 = load i32, i32* %marks1, align 4
  %17 = icmp sle i32 %16, 80
  %18 = icmp eq i1 %15, false
  %19 = select i1 %18, i1 %15, i1 %17
  br i1 %19, label %then5, label %else6

then5:                                            ; preds = %else4
  store i32 2, i32* %out2, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @8, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @7, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @6, i32 0, i32 0))
  br label %ifcont15

else6:                                            ; preds = %else4
  %20 = load i32, i32* %marks1, align 4
  %21 = icmp sle i32 61, %20
  %22 = load i32, i32* %marks1, align 4
  %23 = icmp sle i32 %22, 70
  %24 = icmp eq i1 %21, false
  %25 = select i1 %24, i1 %21, i1 %23
  br i1 %25, label %then7, label %else8

then7:                                            ; preds = %else6
  store i32 3, i32* %out2, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @11, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @10, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @9, i32 0, i32 0))
  br label %ifcont14

else8:                                            ; preds = %else6
  %26 = load i32, i32* %marks1, align 4
  %27 = icmp sle i32 41, %26
  %28 = load i32, i32* %marks1, align 4
  %29 = icmp sle i32 %28, 60
  %30 = icmp eq i1 %27, false
  %31 = select i1 %30, i1 %27, i1 %29
  br i1 %31, label %then9, label %else10

then9:                                            ; preds = %else8
  store i32 4, i32* %out2, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @14, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @13, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @12, i32 0, i32 0))
  br label %ifcont13

else10:                                           ; preds = %else8
  %32 = load i32, i32* %marks1, align 4
  %33 = icmp sle i32 %32, 40
  br i1 %33, label %then11, label %else12

then11:                                           ; preds = %else10
  store i32 5, i32* %out2, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @17, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @16, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @15, i32 0, i32 0))
  br label %ifcont

else12:                                           ; preds = %else10
  store i32 6, i32* %out2, align 4
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @20, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @19, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @18, i32 0, i32 0))
  br label %ifcont

ifcont:                                           ; preds = %else12, %then11
  br label %ifcont13

ifcont13:                                         ; preds = %ifcont, %then9
  br label %ifcont14

ifcont14:                                         ; preds = %ifcont13, %then7
  br label %ifcont15

ifcont15:                                         ; preds = %ifcont14, %then5
  br label %ifcont16

ifcont16:                                         ; preds = %ifcont15, %then3
  br label %ifcont17

ifcont17:                                         ; preds = %ifcont16, %then
  %34 = load i32, i32* %marks1, align 4
  %35 = sext i32 %34 to i64
  %36 = call i8* (i32, i8*, ...) @_lcompilers_string_format_fortran(i32 4, i8* null, i32 7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @22, i32 0, i32 0), i32 2, i64 %35)
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @23, i32 0, i32 0), i8* %36, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @21, i32 0, i32 0))
  %37 = load i32, i32* %out2, align 4
  %38 = icmp ne i32 %37, 1
  br i1 %38, label %then18, label %else19

then18:                                           ; preds = %ifcont17
  call void (i8*, ...) @_lcompilers_print_error(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @26, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @24, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @25, i32 0, i32 0))
  call void @exit(i32 1)
  br label %ifcont20

else19:                                           ; preds = %ifcont17
  br label %ifcont20

ifcont20:                                         ; preds = %else19, %then18
  %39 = load i32, i32* %marks1, align 4
  %40 = icmp sle i32 91, %39
  %41 = load i32, i32* %marks1, align 4
  %42 = icmp sle i32 %41, 100
  %43 = icmp eq i1 %40, false
  %44 = select i1 %43, i1 %40, i1 %42
  br i1 %44, label %then21, label %else22

then21:                                           ; preds = %ifcont20
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @29, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @28, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @27, i32 0, i32 0))
  br label %ifcont38

else22:                                           ; preds = %ifcont20
  %45 = load i32, i32* %marks1, align 4
  %46 = icmp sle i32 81, %45
  %47 = load i32, i32* %marks1, align 4
  %48 = icmp sle i32 %47, 90
  %49 = icmp eq i1 %46, false
  %50 = select i1 %49, i1 %46, i1 %48
  br i1 %50, label %then23, label %else24

then23:                                           ; preds = %else22
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @32, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @31, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @30, i32 0, i32 0))
  br label %ifcont37

else24:                                           ; preds = %else22
  %51 = load i32, i32* %marks1, align 4
  %52 = icmp sle i32 71, %51
  %53 = load i32, i32* %marks1, align 4
  %54 = icmp sle i32 %53, 80
  %55 = icmp eq i1 %52, false
  %56 = select i1 %55, i1 %52, i1 %54
  br i1 %56, label %then25, label %else26

then25:                                           ; preds = %else24
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @35, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @34, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @33, i32 0, i32 0))
  br label %ifcont36

else26:                                           ; preds = %else24
  %57 = load i32, i32* %marks1, align 4
  %58 = icmp sle i32 61, %57
  %59 = load i32, i32* %marks1, align 4
  %60 = icmp sle i32 %59, 70
  %61 = icmp eq i1 %58, false
  %62 = select i1 %61, i1 %58, i1 %60
  br i1 %62, label %then27, label %else28

then27:                                           ; preds = %else26
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @38, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @37, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @36, i32 0, i32 0))
  br label %ifcont35

else28:                                           ; preds = %else26
  %63 = load i32, i32* %marks1, align 4
  %64 = icmp sle i32 41, %63
  %65 = load i32, i32* %marks1, align 4
  %66 = icmp sle i32 %65, 60
  %67 = icmp eq i1 %64, false
  %68 = select i1 %67, i1 %64, i1 %66
  br i1 %68, label %then29, label %else30

then29:                                           ; preds = %else28
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @41, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @40, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @39, i32 0, i32 0))
  br label %ifcont34

else30:                                           ; preds = %else28
  %69 = load i32, i32* %marks1, align 4
  %70 = icmp sle i32 %69, 40
  br i1 %70, label %then31, label %else32

then31:                                           ; preds = %else30
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @44, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @43, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @42, i32 0, i32 0))
  br label %ifcont33

else32:                                           ; preds = %else30
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @47, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @46, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @45, i32 0, i32 0))
  br label %ifcont33

ifcont33:                                         ; preds = %else32, %then31
  br label %ifcont34

ifcont34:                                         ; preds = %ifcont33, %then29
  br label %ifcont35

ifcont35:                                         ; preds = %ifcont34, %then27
  br label %ifcont36

ifcont36:                                         ; preds = %ifcont35, %then25
  br label %ifcont37

ifcont37:                                         ; preds = %ifcont36, %then23
  br label %ifcont38

ifcont38:                                         ; preds = %ifcont37, %then21
  %71 = load i32, i32* %marks1, align 4
  %72 = sext i32 %71 to i64
  %73 = call i8* (i32, i8*, ...) @_lcompilers_string_format_fortran(i32 4, i8* null, i32 7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @49, i32 0, i32 0), i32 2, i64 %72)
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @50, i32 0, i32 0), i8* %73, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @48, i32 0, i32 0))
  %74 = load i32, i32* %marks1, align 4
  %75 = icmp sle i32 91, %74
  %76 = load i32, i32* %marks1, align 4
  %77 = icmp sle i32 %76, 100
  %78 = icmp eq i1 %75, false
  %79 = select i1 %78, i1 %75, i1 %77
  br i1 %79, label %then39, label %else40

then39:                                           ; preds = %ifcont38
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @53, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @52, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @51, i32 0, i32 0))
  br label %ifcont56

else40:                                           ; preds = %ifcont38
  %80 = load i32, i32* %marks1, align 4
  %81 = icmp sle i32 81, %80
  %82 = load i32, i32* %marks1, align 4
  %83 = icmp sle i32 %82, 90
  %84 = icmp eq i1 %81, false
  %85 = select i1 %84, i1 %81, i1 %83
  br i1 %85, label %then41, label %else42

then41:                                           ; preds = %else40
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @56, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @55, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @54, i32 0, i32 0))
  br label %ifcont55

else42:                                           ; preds = %else40
  %86 = load i32, i32* %marks1, align 4
  %87 = icmp sle i32 71, %86
  %88 = load i32, i32* %marks1, align 4
  %89 = icmp sle i32 %88, 80
  %90 = icmp eq i1 %87, false
  %91 = select i1 %90, i1 %87, i1 %89
  br i1 %91, label %then43, label %else44

then43:                                           ; preds = %else42
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @59, i32 0, i32 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @58, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @57, i32 0, i32 0))
  br label %ifcont54

else44:                                           ; preds = %else42
  %92 = load i32, i32* %marks1, align 4
  %93 = icmp sle i32 61, %92
  %94 = load i32, i32* %marks1, align 4
  %95 = icmp sle i32 %94, 70
  %96 = icmp eq i1 %93, false
  %97 = select i1 %96, i1 %93, i1 %95
  br i1 %97, label %then45, label %else46

then45:                                           ; preds = %else44
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @62, i32 0, i32 0), i8* getelementptr inbounds ([9 x i8], [9 x i8]* @61, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @60, i32 0, i32 0))
  br label %ifcont53

else46:                                           ; preds = %else44
  %98 = load i32, i32* %marks1, align 4
  %99 = icmp sle i32 41, %98
  %100 = load i32, i32* %marks1, align 4
  %101 = icmp sle i32 %100, 60
  %102 = icmp eq i1 %99, false
  %103 = select i1 %102, i1 %99, i1 %101
  br i1 %103, label %then47, label %else48

then47:                                           ; preds = %else46
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @65, i32 0, i32 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @64, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @63, i32 0, i32 0))
  br label %ifcont52

else48:                                           ; preds = %else46
  %104 = load i32, i32* %marks1, align 4
  %105 = icmp sle i32 %104, 40
  br i1 %105, label %then49, label %else50

then49:                                           ; preds = %else48
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @68, i32 0, i32 0), i8* getelementptr inbounds ([18 x i8], [18 x i8]* @67, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @66, i32 0, i32 0))
  br label %ifcont51

else50:                                           ; preds = %else48
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @71, i32 0, i32 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @70, i32 0, i32 0), i8* getelementptr inbounds ([2 x i8], [2 x i8]* @69, i32 0, i32 0))
  br label %ifcont51

ifcont51:                                         ; preds = %else50, %then49
  br label %ifcont52

ifcont52:                                         ; preds = %ifcont51, %then47
  br label %ifcont53

ifcont53:                                         ; preds = %ifcont52, %then45
  br label %ifcont54

ifcont54:                                         ; preds = %ifcont53, %then43
  br label %ifcont55

ifcont55:                                         ; preds = %ifcont54, %then41
  br label %ifcont56

ifcont56:                                         ; preds = %ifcont55, %then39
  %106 = load i32, i32* %marks1, align 4
  %107 = sext i32 %106 to i64
  %108 = call i8* (i32, i8*, ...) @_lcompilers_string_format_fortran(i32 4, i8* null, i32 7, i8* getelementptr inbounds ([16 x i8], [16 x i8]* @73, i32 0, i32 0), i32 2, i64 %107)
  call void (i8*, ...) @_lfortran_printf(i8* getelementptr inbounds ([5 x i8], [5 x i8]* @74, i32 0, i32 0), i8* %108, i8* getelementptr inbounds ([2 x i8], [2 x i8]* @72, i32 0, i32 0))
  call void @_lpython_free_argv()
  br label %return

return:                                           ; preds = %ifcont56
  ret i32 0
}

declare void @_lpython_call_initial_functions(i32, i8**)

declare void @_lfortran_printf(i8*, ...)

declare i8* @_lcompilers_string_format_fortran(i32, i8*, ...)

declare void @_lcompilers_print_error(i8*, ...)

declare void @exit(i32)

declare void @_lpython_free_argv()
