From c748aedbc265fdc7d62768d368161a1f1d88b9a4 Mon Sep 17 00:00:00 2001 From: nic-gaffney Date: Sat, 30 Sep 2023 00:18:27 -0500 Subject: spacing --- output | 425 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 425 insertions(+) create mode 100644 output (limited to 'output') diff --git a/output b/output new file mode 100644 index 0000000..d22bb30 --- /dev/null +++ b/output @@ -0,0 +1,425 @@ +declare void @print(ptr %0) +declare ptr @readln() +declare ptr @filer(ptr %0) +declare void @curshide() +declare void @cursshow() +declare i32 @wait(i32 %0) +declare i32 @slen(ptr %0) +declare i32 @parse_int(ptr %0) +declare void @termpos(i32 %0, i32 %1) +declare i32 @as_int(float %0) +declare float @as_float(i32 %0) +declare ptr @istr(i32 %0) +declare i32 @system(ptr %0) +declare i1 @sequals(ptr %0, ptr %1) +declare void @termclear() +declare i32 @randGen(i32 %0, i32 %1) +declare i32 @serversock(i32 %0, ptr %1, i32 %2) +declare i32 @clientsock(i32 %0, ptr %1) +declare void @closesock(i32 %0, i1 %1) +declare void @sendsock(ptr %0, i32 %1) +declare ptr @recvsock(i32 %0) +define i32 @abs(i32 %0) { +entrypoint: + %x = alloca i32, align 4 + store i32 %0, ptr %x, align 4 + %1 = load i32, ptr %x, align 4 + %lt = icmp slt i32 %1, 0 + br i1 %lt, label %then, label %else + +then: ; preds = %entrypoint + %2 = load i32, ptr %x, align 4 + %neg = sub i32 0, %2 + ret i32 %neg + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %3 = load i32, ptr %x, align 4 + ret i32 %3 +} +define float @fabs(float %0) { +entrypoint: + %x = alloca float, align 4 + store float %0, ptr %x, align 4 + %1 = load float, ptr %x, align 4 + %lt = fcmp olt float %1, 0.000000e+00 + br i1 %lt, label %then, label %else + +then: ; preds = %entrypoint + %2 = load float, ptr %x, align 4 + %neg = fneg float %2 + ret float %neg + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %3 = load float, ptr %x, align 4 + ret float %3 +} +define i32 @max(i32 %0, i32 %1) { +entrypoint: + %y = alloca i32, align 4 + %x = alloca i32, align 4 + store i32 %0, ptr %x, align 4 + store i32 %1, ptr %y, align 4 + %2 = load i32, ptr %x, align 4 + %3 = load i32, ptr %y, align 4 + %gt = icmp sgt i32 %2, %3 + br i1 %gt, label %then, label %else + +then: ; preds = %entrypoint + %4 = load i32, ptr %x, align 4 + ret i32 %4 + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %5 = load i32, ptr %y, align 4 + ret i32 %5 +} +define i32 @min(i32 %0, i32 %1) { +entrypoint: + %y = alloca i32, align 4 + %x = alloca i32, align 4 + store i32 %0, ptr %x, align 4 + store i32 %1, ptr %y, align 4 + %2 = load i32, ptr %x, align 4 + %3 = load i32, ptr %y, align 4 + %lt = icmp slt i32 %2, %3 + br i1 %lt, label %then, label %else + +then: ; preds = %entrypoint + %4 = load i32, ptr %x, align 4 + ret i32 %4 + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %5 = load i32, ptr %y, align 4 + ret i32 %5 +} +define float @fmax(float %0, float %1) { +entrypoint: + %y = alloca float, align 4 + %x = alloca float, align 4 + store float %0, ptr %x, align 4 + store float %1, ptr %y, align 4 + %2 = load float, ptr %x, align 4 + %3 = load float, ptr %y, align 4 + %gt = fcmp ogt float %2, %3 + br i1 %gt, label %then, label %else + +then: ; preds = %entrypoint + %4 = load float, ptr %x, align 4 + ret float %4 + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %5 = load float, ptr %y, align 4 + ret float %5 +} +define float @fmin(float %0, float %1) { +entrypoint: + %y = alloca float, align 4 + %x = alloca float, align 4 + store float %0, ptr %x, align 4 + store float %1, ptr %y, align 4 + %2 = load float, ptr %x, align 4 + %3 = load float, ptr %y, align 4 + %lt = fcmp olt float %2, %3 + br i1 %lt, label %then, label %else + +then: ; preds = %entrypoint + %4 = load float, ptr %x, align 4 + ret float %4 + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %5 = load float, ptr %y, align 4 + ret float %5 +} +define float @pow(float %0, float %1) { +entrypoint: + %power = alloca float, align 4 + %y = alloca float, align 4 + %x = alloca float, align 4 + store float %0, ptr %x, align 4 + store float %1, ptr %y, align 4 + %2 = load float, ptr %x, align 4 + store float %2, ptr %power, align 4 + br label %loop + +loop: ; preds = %"loop body", %entrypoint + %3 = load float, ptr %y, align 4 + %gt = fcmp ogt float %3, 1.000000e+00 + br i1 %gt, label %"loop body", label %"after loop" + +"loop body": ; preds = %loop + %4 = load float, ptr %power, align 4 + %5 = load float, ptr %x, align 4 + %mul = fmul float %4, %5 + store float %mul, ptr %x, align 4 + %6 = load float, ptr %y, align 4 + %sub = fsub float %6, 1.000000e+00 + store float %sub, ptr %y, align 4 + br label %loop + +"after loop": ; preds = %loop + %7 = load float, ptr %x, align 4 + ret float %7 +} +define i32 @floor(float %0) { +entrypoint: + %x = alloca float, align 4 + store float %0, ptr %x, align 4 + %1 = load float, ptr %x, align 4 + %2 = load float, ptr %x, align 4 + %mod = frem float %2, 1.000000e+00 + %3 = call float @fabs(float %mod) + %sub = fsub float %1, %3 + %4 = call i32 @as_int(float %sub) + ret i32 %4 +} +define i32 @ceil(float %0) { +entrypoint: + %x = alloca float, align 4 + store float %0, ptr %x, align 4 + %1 = load float, ptr %x, align 4 + %lt = fcmp olt float %1, 0.000000e+00 + br i1 %lt, label %then, label %else + +then: ; preds = %entrypoint + %2 = load float, ptr %x, align 4 + %3 = call i32 @floor(float %2) + %sub = sub i32 %3, 1 + ret i32 %sub + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %4 = load float, ptr %x, align 4 + %5 = call i32 @floor(float %4) + %add = add i32 %5, 1 + ret i32 %add +} +define i32 @round(float %0) { +entrypoint: + %ret = alloca i32, align 4 + %x = alloca float, align 4 + store float %0, ptr %x, align 4 + %1 = load float, ptr %x, align 4 + %2 = call i32 @floor(float %1) + store i32 %2, ptr %ret, align 4 + %3 = load float, ptr %x, align 4 + %mod = frem float %3, 1.000000e+00 + %4 = call float @fabs(float %mod) + %gt = fcmp oge float %4, 5.000000e-01 + br i1 %gt, label %then, label %else + +then: ; preds = %entrypoint + %5 = load float, ptr %x, align 4 + %6 = call i32 @ceil(float %5) + store i32 %6, ptr %ret, align 4 + br label %continue + +else: ; preds = %entrypoint + br label %continue + +continue: ; preds = %else, %then + %7 = load i32, ptr %ret, align 4 + ret i32 %7 +} +define void @println(ptr %0) { +entrypoint: + %str = alloca ptr, align 8 + store ptr %0, ptr %str, align 8 + %1 = load ptr, ptr %str, align 8 + call void @print(ptr %1) + %str1 = tail call ptr @malloc(i32 mul (i32 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i32), i32 7)) + store [2 x i8] c"\0A\00", ptr %str1, align 1 + call void @print(ptr %str1) + ret void +} +define void @printMan(float %0, float %1, float %2, float %3, i32 %4, i32 %5) { +entrypoint: + %temp = alloca float, align 4 + %count = alloca float, align 4 + %zImg = alloca float, align 4 + %zReal = alloca float, align 4 + %cImg = alloca float, align 4 + %cReal = alloca float, align 4 + %y = alloca i32, align 4 + %x = alloca i32, align 4 + %plane = alloca float, align 4 + %maxIter = alloca float, align 4 + %maxVal = alloca float, align 4 + %size = alloca float, align 4 + store float %0, ptr %size, align 4 + store float %1, ptr %maxVal, align 4 + store float %2, ptr %maxIter, align 4 + store float %3, ptr %plane, align 4 + store i32 %4, ptr %x, align 4 + store i32 %5, ptr %y, align 4 + %6 = load i32, ptr %x, align 4 + %7 = call float @as_float(i32 %6) + %8 = load float, ptr %plane, align 4 + %mul = fmul float %7, %8 + %9 = load float, ptr %size, align 4 + %div = fdiv float %mul, %9 + %sub = fsub float %div, 2.000000e+00 + store float %sub, ptr %cReal, align 4 + %10 = load i32, ptr %y, align 4 + %11 = call float @as_float(i32 %10) + %12 = load float, ptr %plane, align 4 + %mul1 = fmul float %11, %12 + %13 = load float, ptr %size, align 4 + %div2 = fdiv float %mul1, %13 + %sub3 = fsub float %div2, 2.000000e+00 + store float %sub3, ptr %cImg, align 4 + store float 0.000000e+00, ptr %zReal, align 4 + store float 0.000000e+00, ptr %zImg, align 4 + store float 0.000000e+00, ptr %count, align 4 + br label %loop + +loop: ; preds = %continue, %entrypoint + %14 = load float, ptr %zReal, align 4 + %15 = load float, ptr %zReal, align 4 + %mul4 = fmul float %14, %15 + %16 = load float, ptr %zImg, align 4 + %17 = load float, ptr %zImg, align 4 + %mul5 = fmul float %16, %17 + %add = fadd float %mul4, %mul5 + %18 = load float, ptr %maxVal, align 4 + %le = fcmp ole float %add, %18 + %19 = load float, ptr %count, align 4 + %20 = load float, ptr %maxIter, align 4 + %lt = fcmp olt float %19, %20 + %logand = and i1 %le, %lt + br i1 %logand, label %"loop body", label %"after loop" + +"loop body": ; preds = %loop + %21 = load float, ptr %zReal, align 4 + %22 = load float, ptr %zReal, align 4 + %mul6 = fmul float %21, %22 + %23 = load float, ptr %zImg, align 4 + %24 = load float, ptr %zImg, align 4 + %mul7 = fmul float %23, %24 + %sub8 = fsub float %mul6, %mul7 + %25 = load float, ptr %cReal, align 4 + %add9 = fadd float %sub8, %25 + store float %add9, ptr %temp, align 4 + %26 = load float, ptr %zReal, align 4 + %mul10 = fmul float 2.000000e+00, %26 + %27 = load float, ptr %zImg, align 4 + %mul11 = fmul float %mul10, %27 + %28 = load float, ptr %cImg, align 4 + %add12 = fadd float %mul11, %28 + store float %add12, ptr %zImg, align 4 + %29 = load float, ptr %temp, align 4 + store float %29, ptr %zReal, align 4 + %30 = load float, ptr %count, align 4 + %add13 = fadd float %30, 1.000000e+00 + store float %add13, ptr %count, align 4 + %31 = load float, ptr %count, align 4 + %32 = call i32 @as_int(float %31) + %33 = load float, ptr %maxIter, align 4 + %34 = call i32 @as_int(float %33) + %35 = icmp eq i32 %32, %34 + br i1 %35, label %then, label %else + +"after loop": ; preds = %loop + ret void + +then: ; preds = %"loop body" + %36 = load i32, ptr %x, align 4 + %37 = load i32, ptr %y, align 4 + call void @termpos(i32 %36, i32 %37) + %str = tail call ptr @malloc(i32 mul (i32 ptrtoint (ptr getelementptr (i8, ptr null, i32 1) to i32), i32 9)) + store [4 x i8] c"\E2\96\88\00", ptr %str, align 1 + call void @print(ptr %str) + br label %continue + +else: ; preds = %"loop body" + br label %continue + +continue: ; preds = %else, %then + br label %loop +} +define i32 @main() { +entrypoint: + %range4 = alloca { i32, i32 }, align 8 + %range = alloca { i32, i32 }, align 8 + %plane = alloca float, align 4 + %maxIter = alloca float, align 4 + %maxVal = alloca float, align 4 + %size = alloca float, align 4 + store float 1.000000e+03, ptr %size, align 4 + store float 4.000000e+00, ptr %maxVal, align 4 + store float 5.000000e+01, ptr %maxIter, align 4 + store float 4.000000e+00, ptr %plane, align 4 + %0 = load float, ptr %size, align 4 + %1 = call i32 @as_int(float %0) + store { i32, i32 } { i32 0, i32 %1 }, ptr %range, align 4 + %current = getelementptr inbounds { i32, i32 }, ptr %range, i32 0, i32 0 + %end = getelementptr inbounds { i32, i32 }, ptr %range, i32 0, i32 1 + br label %loop + +loop: ; preds = %"after loop3", %entrypoint + %2 = load i32, ptr %current, align 4 + %3 = load i32, ptr %end, align 4 + %4 = icmp slt i32 %2, %3 + br i1 %4, label %"loop body", label %"after loop" + +"loop body": ; preds = %loop + %5 = load float, ptr %size, align 4 + %6 = call i32 @as_int(float %5) + store { i32, i32 } { i32 0, i32 %6 }, ptr %range4, align 4 + %current5 = getelementptr inbounds { i32, i32 }, ptr %range4, i32 0, i32 0 + %end6 = getelementptr inbounds { i32, i32 }, ptr %range4, i32 0, i32 1 + br label %loop1 + +"after loop": ; preds = %loop + ret i32 0 + +loop1: ; preds = %"loop body2", %"loop body" + %7 = load i32, ptr %current5, align 4 + %8 = load i32, ptr %end6, align 4 + %9 = icmp slt i32 %7, %8 + br i1 %9, label %"loop body2", label %"after loop3" + +"loop body2": ; preds = %loop1 + %10 = load float, ptr %size, align 4 + %11 = load float, ptr %maxVal, align 4 + %12 = load float, ptr %maxIter, align 4 + %13 = load float, ptr %plane, align 4 + %14 = load i32, ptr %current, align 4 + %15 = load i32, ptr %current5, align 4 + call void @printMan(float %10, float %11, float %12, float %13, i32 %14, i32 %15) + %16 = load i32, ptr %current5, align 4 + %17 = add i32 %16, 1 + store i32 %17, ptr %current5, align 4 + br label %loop1 + +"after loop3": ; preds = %loop1 + %18 = load i32, ptr %current, align 4 + %19 = add i32 %18, 1 + store i32 %19, ptr %current, align 4 + br label %loop +} -- cgit v1.2.3