#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ dumb_set_picture_cell(int, int, int);
int /*<<< orphan*/ os_picture_data(int, int *, int *);
void os_draw_picture(int num, int row, int col) {
  int width, height, r, c;
  if (!os_picture_data(num, &height, &width) || !width || !height)
    return;
  col--, row--;
  dumb_set_picture_cell(row, col, '+');
  dumb_set_picture_cell(row, col + width - 1, '+');
  dumb_set_picture_cell(row + height - 1, col, '+');
  dumb_set_picture_cell(row + height - 1, col + width - 1, '+');
  for (c = col + 1; c < col + width - 1; c++) {
    dumb_set_picture_cell(row, c, '-');
    dumb_set_picture_cell(row + height - 1, c, '-');
  }
  for (r = row + 1; r < row + height - 1; r++) {
    dumb_set_picture_cell(r, col, '|');
    dumb_set_picture_cell(r, col + width - 1, '|');
  }
  for (r = row + 1; r < row + height - 2; r++)
    for (c = col + 1; c < col + width - 1; c++)
      dumb_set_picture_cell(r, c, ':');
  if (height >= 3)
    for (c = col + width - 2; c > col; c--, (num /= 10))
      dumb_set_picture_cell(row + height - 2, c, num ? (num % 10 + '0') : ':');
}


x86 assembly (clang, -O0):
<os_draw_picture>:
push   %rbp
mov    %rsp,%rbp
sub    $0x30,%rsp
mov    %edi,-0x4(%rbp)
mov    %esi,-0x8(%rbp)
mov    %edx,-0xc(%rbp)
mov    -0x4(%rbp),%edi
lea    -0x14(%rbp),%rsi
lea    -0x10(%rbp),%rdx
call   1030 <os_picture_data@plt>
cmp    $0x0,%eax
je     115e <os_draw_picture+0x3e>
cmpl   $0x0,-0x10(%rbp)
je     115e <os_draw_picture+0x3e>
cmpl   $0x0,-0x14(%rbp)
jne    1163 <os_draw_picture+0x43>
jmp    136c <os_draw_picture+0x24c>
mov    -0xc(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0xc(%rbp)
mov    -0x8(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x8(%rbp)
mov    -0x8(%rbp),%edi
mov    -0xc(%rbp),%esi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x8(%rbp),%edi
mov    -0xc(%rbp),%esi
add    -0x10(%rbp),%esi
sub    $0x1,%esi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x8(%rbp),%edi
add    -0x14(%rbp),%edi
sub    $0x1,%edi
mov    -0xc(%rbp),%esi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x8(%rbp),%edi
add    -0x14(%rbp),%edi
sub    $0x1,%edi
mov    -0xc(%rbp),%esi
add    -0x10(%rbp),%esi
sub    $0x1,%esi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
mov    -0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jge    121e <os_draw_picture+0xfe>
mov    -0x8(%rbp),%edi
mov    -0x1c(%rbp),%esi
mov    $0x2d,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x8(%rbp),%edi
add    -0x14(%rbp),%edi
sub    $0x1,%edi
mov    -0x1c(%rbp),%esi
mov    $0x2d,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    11d6 <os_draw_picture+0xb6>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    -0x8(%rbp),%ecx
add    -0x14(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jge    126f <os_draw_picture+0x14f>
mov    -0x18(%rbp),%edi
mov    -0xc(%rbp),%esi
mov    $0x7c,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x18(%rbp),%edi
mov    -0xc(%rbp),%esi
add    -0x10(%rbp),%esi
sub    $0x1,%esi
mov    $0x7c,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1227 <os_draw_picture+0x107>
mov    -0x8(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
mov    -0x18(%rbp),%eax
mov    -0x8(%rbp),%ecx
add    -0x14(%rbp),%ecx
sub    $0x2,%ecx
cmp    %ecx,%eax
jge    12da <os_draw_picture+0x1ba>
mov    -0xc(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
mov    -0xc(%rbp),%ecx
add    -0x10(%rbp),%ecx
sub    $0x1,%ecx
cmp    %ecx,%eax
jge    12c7 <os_draw_picture+0x1a7>
mov    -0x18(%rbp),%edi
mov    -0x1c(%rbp),%esi
mov    $0x3a,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x1c(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x1c(%rbp)
jmp    1295 <os_draw_picture+0x175>
jmp    12cc <os_draw_picture+0x1ac>
mov    -0x18(%rbp),%eax
add    $0x1,%eax
mov    %eax,-0x18(%rbp)
jmp    1278 <os_draw_picture+0x158>
cmpl   $0x3,-0x14(%rbp)
jl     136c <os_draw_picture+0x24c>
mov    -0xc(%rbp),%eax
add    -0x10(%rbp),%eax
sub    $0x2,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x1c(%rbp),%eax
cmp    -0xc(%rbp),%eax
jle    1367 <os_draw_picture+0x247>
mov    -0x8(%rbp),%eax
add    -0x14(%rbp),%eax
sub    $0x2,%eax
mov    %eax,-0x24(%rbp)
mov    -0x1c(%rbp),%eax
mov    %eax,-0x20(%rbp)
cmpl   $0x0,-0x4(%rbp)
je     1330 <os_draw_picture+0x210>
mov    -0x4(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %edx,%eax
add    $0x30,%eax
mov    %eax,-0x28(%rbp)
jmp    133d <os_draw_picture+0x21d>
mov    $0x3a,%eax
mov    %eax,-0x28(%rbp)
jmp    133d <os_draw_picture+0x21d>
mov    -0x20(%rbp),%esi
mov    -0x24(%rbp),%edi
mov    -0x28(%rbp),%edx
call   1040 <dumb_set_picture_cell@plt>
mov    -0x1c(%rbp),%eax
add    $0xffffffff,%eax
mov    %eax,-0x1c(%rbp)
mov    -0x4(%rbp),%eax
mov    $0xa,%ecx
cltd
idiv   %ecx
mov    %eax,-0x4(%rbp)
jmp    12f0 <os_draw_picture+0x1d0>
jmp    136c <os_draw_picture+0x24c>
add    $0x30,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<os_draw_picture>:
push   %rbp
push   %r15
push   %r14
push   %r13
push   %r12
push   %rbx
sub    $0x18,%rsp
mov    %edx,%ebp
mov    %esi,%ebx
mov    %edi,%r15d
lea    0x8(%rsp),%rsi
lea    0x4(%rsp),%rdx
call   1030 <os_picture_data@plt>
test   %eax,%eax
je     12d8 <os_draw_picture+0x1b8>
cmpl   $0x0,0x4(%rsp)
je     12d8 <os_draw_picture+0x1b8>
cmpl   $0x0,0x8(%rsp)
je     12d8 <os_draw_picture+0x1b8>
lea    -0x1(%rbp),%esi
mov    %esi,0xc(%rsp)
lea    -0x1(%rbx),%r13d
mov    %r13d,%edi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
lea    -0x2(%rbp),%r14d
mov    0x4(%rsp),%esi
add    %r14d,%esi
mov    %r13d,%edi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
lea    -0x2(%rbx),%r12d
mov    0x8(%rsp),%edi
add    %r12d,%edi
mov    0xc(%rsp),%esi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    0x8(%rsp),%edi
add    %r12d,%edi
mov    0x4(%rsp),%esi
add    %r14d,%esi
mov    $0x2b,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    0x4(%rsp),%eax
add    %r14d,%eax
mov    %rbp,0x10(%rsp)
cmp    %ebp,%eax
jle    1210 <os_draw_picture+0xf0>
mov    0x10(%rsp),%rax
mov    %eax,%ebp
nopw   0x0(%rax,%rax,1)
mov    %r13d,%edi
mov    %ebp,%esi
mov    $0x2d,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    0x8(%rsp),%edi
add    %r12d,%edi
mov    %ebp,%esi
mov    $0x2d,%edx
call   1040 <dumb_set_picture_cell@plt>
add    $0x1,%ebp
mov    0x4(%rsp),%eax
add    %r14d,%eax
cmp    %eax,%ebp
jl     11e0 <os_draw_picture+0xc0>
mov    0x8(%rsp),%edi
lea    (%r12,%rdi,1),%eax
cmp    %ebx,%eax
mov    0xc(%rsp),%r13d
jle    1261 <os_draw_picture+0x141>
mov    %ebx,%ebp
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)
mov    %ebp,%edi
mov    %r13d,%esi
mov    $0x7c,%edx
call   1040 <dumb_set_picture_cell@plt>
mov    0x4(%rsp),%esi
add    %r14d,%esi
mov    %ebp,%edi
mov    $0x7c,%edx
call   1040 <dumb_set_picture_cell@plt>
add    $0x1,%ebp
mov    0x8(%rsp),%edi
lea    (%r12,%rdi,1),%eax
cmp    %eax,%ebp
jl     1230 <os_draw_picture+0x110>
lea    -0x3(%rbx),%r12d
lea    (%rbx,%rdi,1),%eax
add    $0xfffffffd,%eax
cmp    %ebx,%eax
mov    0x10(%rsp),%r13
jle    12c3 <os_draw_picture+0x1a3>
mov    0x4(%rsp),%eax
jmp    128b <os_draw_picture+0x16b>
nopw   0x0(%rax,%rax,1)
add    $0x1,%ebx
lea    (%r12,%rdi,1),%ecx
cmp    %ecx,%ebx
jge    12c3 <os_draw_picture+0x1a3>
lea    (%r14,%rax,1),%ecx
cmp    %r13d,%ecx
jle    1280 <os_draw_picture+0x160>
mov    %r13d,%ebp
nopw   0x0(%rax,%rax,1)
mov    %ebx,%edi
mov    %ebp,%esi
mov    $0x3a,%edx
call   1040 <dumb_set_picture_cell@plt>
add    $0x1,%ebp
mov    0x4(%rsp),%eax
lea    (%r14,%rax,1),%ecx
cmp    %ecx,%ebp
jl     12a0 <os_draw_picture+0x180>
mov    0x8(%rsp),%edi
jmp    1280 <os_draw_picture+0x160>
cmp    $0x3,%edi
jl     12d8 <os_draw_picture+0x1b8>
mov    0x4(%rsp),%eax
lea    (%rax,%r13,1),%ebx
add    $0xfffffffd,%ebx
cmp    %r13d,%ebx
jge    12f0 <os_draw_picture+0x1d0>
add    $0x18,%rsp
pop    %rbx
pop    %r12
pop    %r13
pop    %r14
pop    %r15
pop    %rbp
ret
nopw   0x0(%rax,%rax,1)
add    %r12d,%edi
movslq %r15d,%rbp
test   %r15d,%r15d
je     1320 <os_draw_picture+0x200>
imul   $0x66666667,%rbp,%rax
mov    %rax,%rcx
shr    $0x3f,%rcx
sar    $0x22,%rax
add    %ecx,%eax
add    %eax,%eax
lea    (%rax,%rax,4),%eax
neg    %eax
lea    (%rax,%rbp,1),%edx
add    $0x30,%edx
jmp    1325 <os_draw_picture+0x205>
xchg   %ax,%ax
mov    $0x3a,%edx
mov    %ebx,%esi
call   1040 <dumb_set_picture_cell@plt>
cmp    %r13d,%ebx
jle    12d8 <os_draw_picture+0x1b8>
imul   $0x66666667,%rbp,%r15
mov    %r15,%rax
shr    $0x3f,%rax
sar    $0x22,%r15
add    %eax,%r15d
add    $0xffffffff,%ebx
mov    0x8(%rsp),%edi
jmp    12f0 <os_draw_picture+0x1d0>

LLVM IR (-O0):
define void @os_draw_picture(i32 %0, i32 %1, i32 %2) {
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
store i32 %0, i32* %4
store i32 %1, i32* %5
store i32 %2, i32* %6
%11 = load i32, i32* %4
%12 = call i32 @os_picture_data(i32 %11, i32* %8, i32* %7)
%13 = icmp ne i32 %12, 0
br i1 %13, label %14, label %20
14: ; preds = %3
%15 = load i32, i32* %7
%16 = icmp ne i32 %15, 0
br i1 %16, label %17, label %20
17: ; preds = %14
%18 = load i32, i32* %8
%19 = icmp ne i32 %18, 0
br i1 %19, label %21, label %20
20: ; preds = %17, %14, %3
br label %160
21: ; preds = %17
%22 = load i32, i32* %6
%23 = add nsw i32 %22, -1
store i32 %23, i32* %6
%24 = load i32, i32* %5
%25 = add nsw i32 %24, -1
store i32 %25, i32* %5
%26 = load i32, i32* %5
%27 = load i32, i32* %6
%28 = call i32 @dumb_set_picture_cell(i32 %26, i32 %27, i32 43)
%29 = load i32, i32* %5
%30 = load i32, i32* %6
%31 = load i32, i32* %7
%32 = add nsw i32 %30, %31
%33 = sub nsw i32 %32, 1
%34 = call i32 @dumb_set_picture_cell(i32 %29, i32 %33, i32 43)
%35 = load i32, i32* %5
%36 = load i32, i32* %8
%37 = add nsw i32 %35, %36
%38 = sub nsw i32 %37, 1
%39 = load i32, i32* %6
%40 = call i32 @dumb_set_picture_cell(i32 %38, i32 %39, i32 43)
%41 = load i32, i32* %5
%42 = load i32, i32* %8
%43 = add nsw i32 %41, %42
%44 = sub nsw i32 %43, 1
%45 = load i32, i32* %6
%46 = load i32, i32* %7
%47 = add nsw i32 %45, %46
%48 = sub nsw i32 %47, 1
%49 = call i32 @dumb_set_picture_cell(i32 %44, i32 %48, i32 43)
%50 = load i32, i32* %6
%51 = add nsw i32 %50, 1
store i32 %51, i32* %10
br label %52
52: ; preds = %69, %21
%53 = load i32, i32* %10
%54 = load i32, i32* %6
%55 = load i32, i32* %7
%56 = add nsw i32 %54, %55
%57 = sub nsw i32 %56, 1
%58 = icmp slt i32 %53, %57
br i1 %58, label %59, label %72
59: ; preds = %52
%60 = load i32, i32* %5
%61 = load i32, i32* %10
%62 = call i32 @dumb_set_picture_cell(i32 %60, i32 %61, i32 45)
%63 = load i32, i32* %5
%64 = load i32, i32* %8
%65 = add nsw i32 %63, %64
%66 = sub nsw i32 %65, 1
%67 = load i32, i32* %10
%68 = call i32 @dumb_set_picture_cell(i32 %66, i32 %67, i32 45)
br label %69
69: ; preds = %59
%70 = load i32, i32* %10
%71 = add nsw i32 %70, 1
store i32 %71, i32* %10
br label %52
72: ; preds = %52
%73 = load i32, i32* %5
%74 = add nsw i32 %73, 1
store i32 %74, i32* %9
br label %75
75: ; preds = %92, %72
%76 = load i32, i32* %9
%77 = load i32, i32* %5
%78 = load i32, i32* %8
%79 = add nsw i32 %77, %78
%80 = sub nsw i32 %79, 1
%81 = icmp slt i32 %76, %80
br i1 %81, label %82, label %95
82: ; preds = %75
%83 = load i32, i32* %9
%84 = load i32, i32* %6
%85 = call i32 @dumb_set_picture_cell(i32 %83, i32 %84, i32 124)
%86 = load i32, i32* %9
%87 = load i32, i32* %6
%88 = load i32, i32* %7
%89 = add nsw i32 %87, %88
%90 = sub nsw i32 %89, 1
%91 = call i32 @dumb_set_picture_cell(i32 %86, i32 %90, i32 124)
br label %92
92: ; preds = %82
%93 = load i32, i32* %9
%94 = add nsw i32 %93, 1
store i32 %94, i32* %9
br label %75
95: ; preds = %75
%96 = load i32, i32* %5
%97 = add nsw i32 %96, 1
store i32 %97, i32* %9
br label %98
98: ; preds = %123, %95
%99 = load i32, i32* %9
%100 = load i32, i32* %5
%101 = load i32, i32* %8
%102 = add nsw i32 %100, %101
%103 = sub nsw i32 %102, 2
%104 = icmp slt i32 %99, %103
br i1 %104, label %105, label %126
105: ; preds = %98
%106 = load i32, i32* %6
%107 = add nsw i32 %106, 1
store i32 %107, i32* %10
br label %108
108: ; preds = %119, %105
%109 = load i32, i32* %10
%110 = load i32, i32* %6
%111 = load i32, i32* %7
%112 = add nsw i32 %110, %111
%113 = sub nsw i32 %112, 1
%114 = icmp slt i32 %109, %113
br i1 %114, label %115, label %122
115: ; preds = %108
%116 = load i32, i32* %9
%117 = load i32, i32* %10
%118 = call i32 @dumb_set_picture_cell(i32 %116, i32 %117, i32 58)
br label %119
119: ; preds = %115
%120 = load i32, i32* %10
%121 = add nsw i32 %120, 1
store i32 %121, i32* %10
br label %108
122: ; preds = %108
br label %123
123: ; preds = %122
%124 = load i32, i32* %9
%125 = add nsw i32 %124, 1
store i32 %125, i32* %9
br label %98
126: ; preds = %98
%127 = load i32, i32* %8
%128 = icmp sge i32 %127, 3
br i1 %128, label %129, label %160
129: ; preds = %126
%130 = load i32, i32* %6
%131 = load i32, i32* %7
%132 = add nsw i32 %130, %131
%133 = sub nsw i32 %132, 2
store i32 %133, i32* %10
br label %134
134: ; preds = %154, %129
%135 = load i32, i32* %10
%136 = load i32, i32* %6
%137 = icmp sgt i32 %135, %136
br i1 %137, label %138, label %159
138: ; preds = %134
%139 = load i32, i32* %5
%140 = load i32, i32* %8
%141 = add nsw i32 %139, %140
%142 = sub nsw i32 %141, 2
%143 = load i32, i32* %10
%144 = load i32, i32* %4
%145 = icmp ne i32 %144, 0
br i1 %145, label %146, label %150
146: ; preds = %138
%147 = load i32, i32* %4
%148 = srem i32 %147, 10
%149 = add nsw i32 %148, 48
br label %151
150: ; preds = %138
br label %151
151: ; preds = %150, %146
%152 = phi i32 [ %149, %146 ], [ 58, %150 ]
%153 = call i32 @dumb_set_picture_cell(i32 %142, i32 %143, i32 %152)
br label %154
154: ; preds = %151
%155 = load i32, i32* %10
%156 = add nsw i32 %155, -1
store i32 %156, i32* %10
%157 = load i32, i32* %4
%158 = sdiv i32 %157, 10
store i32 %158, i32* %4
br label %134
159: ; preds = %134
br label %160
160: ; preds = %20, %159, %126
ret void
}

LLVM IR (-O2):
define void @os_draw_picture(i32 %0, i32 %1, i32 %2) {
%4 = alloca i32
%5 = alloca i32
%6 = bitcast i32* %4 to i8*
%7 = bitcast i32* %5 to i8*
%8 = call i32 @os_picture_data(i32 %0, i32* %5, i32* %4)
%9 = icmp ne i32 %8, 0
%10 = load i32, i32* %4
%11 = icmp ne i32 %10, 0
%12 = select i1 %9, i1 %11, i1 false
%13 = load i32, i32* %5
%14 = icmp ne i32 %13, 0
%15 = select i1 %12, i1 %14, i1 false
br i1 %15, label %16, label %113
16: ; preds = %3
%17 = add nsw i32 %2, -1
%18 = add nsw i32 %1, -1
%19 = call i32 @dumb_set_picture_cell(i32 %18, i32 %17, i32 43)
%20 = load i32, i32* %4
%21 = add i32 %2, -2
%22 = add i32 %21, %20
%23 = call i32 @dumb_set_picture_cell(i32 %18, i32 %22, i32 43)
%24 = load i32, i32* %5
%25 = add i32 %1, -2
%26 = add i32 %25, %24
%27 = call i32 @dumb_set_picture_cell(i32 %26, i32 %17, i32 43)
%28 = load i32, i32* %5
%29 = add i32 %25, %28
%30 = load i32, i32* %4
%31 = add i32 %21, %30
%32 = call i32 @dumb_set_picture_cell(i32 %29, i32 %31, i32 43)
%33 = load i32, i32* %4
%34 = add i32 %21, %33
%35 = icmp sgt i32 %34, %2
br i1 %35, label %40, label %36
36: ; preds = %40, %16
%37 = load i32, i32* %5
%38 = add i32 %25, %37
%39 = icmp sgt i32 %38, %1
br i1 %39, label %57, label %50
40: ; preds = %16, %40
%41 = phi i32 [ %46, %40 ], [ %2, %16 ]
%42 = call i32 @dumb_set_picture_cell(i32 %18, i32 %41, i32 45)
%43 = load i32, i32* %5
%44 = add i32 %25, %43
%45 = call i32 @dumb_set_picture_cell(i32 %44, i32 %41, i32 45)
%46 = add nsw i32 %41, 1
%47 = load i32, i32* %4
%48 = add i32 %21, %47
%49 = icmp slt i32 %46, %48
br i1 %49, label %40, label %36
50: ; preds = %57, %36
%51 = phi i32 [ %37, %36 ], [ %64, %57 ]
%52 = add i32 %1, -3
%53 = add i32 %52, %51
%54 = icmp sgt i32 %53, %1
br i1 %54, label %55, label %88
55: ; preds = %50
%56 = load i32, i32* %4
br label %67
57: ; preds = %36, %57
%58 = phi i32 [ %63, %57 ], [ %1, %36 ]
%59 = call i32 @dumb_set_picture_cell(i32 %58, i32 %17, i32 124)
%60 = load i32, i32* %4
%61 = add i32 %21, %60
%62 = call i32 @dumb_set_picture_cell(i32 %58, i32 %61, i32 124)
%63 = add nsw i32 %58, 1
%64 = load i32, i32* %5
%65 = add i32 %25, %64
%66 = icmp slt i32 %63, %65
br i1 %66, label %57, label %50
67: ; preds = %55, %82
%68 = phi i32 [ %51, %55 ], [ %83, %82 ]
%69 = phi i32 [ %56, %55 ], [ %84, %82 ]
%70 = phi i32 [ %1, %55 ], [ %85, %82 ]
%71 = add i32 %21, %69
%72 = icmp sgt i32 %71, %2
br i1 %72, label %73, label %82
73: ; preds = %67, %73
%74 = phi i32 [ %76, %73 ], [ %2, %67 ]
%75 = call i32 @dumb_set_picture_cell(i32 %70, i32 %74, i32 58)
%76 = add nsw i32 %74, 1
%77 = load i32, i32* %4
%78 = add i32 %21, %77
%79 = icmp slt i32 %76, %78
br i1 %79, label %73, label %80
80: ; preds = %73
%81 = load i32, i32* %5
br label %82
82: ; preds = %80, %67
%83 = phi i32 [ %81, %80 ], [ %68, %67 ]
%84 = phi i32 [ %77, %80 ], [ %69, %67 ]
%85 = add nsw i32 %70, 1
%86 = add i32 %52, %83
%87 = icmp slt i32 %85, %86
br i1 %87, label %67, label %88
88: ; preds = %82, %50
%89 = phi i32 [ %51, %50 ], [ %83, %82 ]
%90 = icmp sgt i32 %89, 2
br i1 %90, label %91, label %113
91: ; preds = %88
%92 = load i32, i32* %4
%93 = add i32 %2, -3
%94 = add i32 %93, %92
%95 = icmp slt i32 %94, %2
br i1 %95, label %113, label %96
96: ; preds = %91, %109
%97 = phi i32 [ %112, %109 ], [ %89, %91 ]
%98 = phi i32 [ %111, %109 ], [ %94, %91 ]
%99 = phi i32 [ %110, %109 ], [ %0, %91 ]
%100 = add i32 %52, %97
%101 = icmp eq i32 %99, 0
br i1 %101, label %105, label %102
102: ; preds = %96
%103 = srem i32 %99, 10
%104 = add nsw i32 %103, 48
br label %105
105: ; preds = %96, %102
%106 = phi i32 [ %104, %102 ], [ 58, %96 ]
%107 = call i32 @dumb_set_picture_cell(i32 %100, i32 %98, i32 %106)
%108 = icmp sgt i32 %98, %2
br i1 %108, label %109, label %113
109: ; preds = %105
%110 = sdiv i32 %99, 10
%111 = add nsw i32 %98, -1
%112 = load i32, i32* %5
br label %96
113: ; preds = %105, %91, %88, %3
ret void
}