#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 */
typedef int /*<<< orphan*/ int16_t;

/* Variables and functions */
int /*<<< orphan*/ vt100_clear_errorText();
int /*<<< orphan*/ vt100_clear_specialChars();
int /*<<< orphan*/ vt100_set_autoRepeat(int /*<<< orphan*/);
int /*<<< orphan*/ vt100_set_autoScroll(int /*<<< orphan*/);
int /*<<< orphan*/ vt100_set_autoWrap(int /*<<< orphan*/);
int /*<<< orphan*/ vt100_set_backLight(int /*<<< orphan*/);
int /*<<< orphan*/ vt100_set_backLightTimeout(int /*<<< orphan*/);
int /*<<< orphan*/ vt100_set_currentAttribs(int /*<<< orphan*/);
int /*<<< orphan*/ vt100_set_cursorBlink(int);
int /*<<< orphan*/ vt100_set_cursorPos(int, int);
int /*<<< orphan*/ vt100_set_cursorState(int);
int /*<<< orphan*/ vt100_set_errorCode(int /*<<< orphan*/);
int /*<<< orphan*/ vt100_set_tabStop(int /*<<< orphan*/);
void vt100_resetParms() {
  vt100_set_errorCode(0);
  vt100_clear_errorText();
  vt100_set_autoRepeat(0);
  vt100_set_autoWrap(0);
  vt100_set_autoScroll(0);
  vt100_set_currentAttribs('0');
  vt100_set_cursorBlink(1);
  vt100_set_cursorState(1);
  vt100_set_cursorPos(1, 1);
  vt100_clear_specialChars();
  vt100_set_tabStop((int16_t)(9 - 1));
  vt100_set_tabStop((int16_t)(17 - 1));
  vt100_set_tabStop((int16_t)(25 - 1));
  vt100_set_tabStop((int16_t)(33 - 1));
  vt100_set_backLightTimeout((int16_t)6);
  vt100_set_backLight((int16_t)0);
  return;
}


x86 assembly (clang, -O0):
push   %rbp
mov    %rsp,%rbp
xor    %edi,%edi
call   1060 <vt100_set_errorCode@plt>
mov    $0x0,%al
call   1040 <vt100_clear_errorText@plt>
xor    %edi,%edi
call   10b0 <vt100_set_autoRepeat@plt>
xor    %edi,%edi
call   1030 <vt100_set_autoWrap@plt>
xor    %edi,%edi
call   1070 <vt100_set_autoScroll@plt>
mov    $0x30,%edi
call   10a0 <vt100_set_currentAttribs@plt>
mov    $0x1,%edi
call   10e0 <vt100_set_cursorBlink@plt>
mov    $0x1,%edi
call   1080 <vt100_set_cursorState@plt>
mov    $0x1,%esi
mov    %esi,%edi
call   1090 <vt100_set_cursorPos@plt>
mov    $0x0,%al
call   10c0 <vt100_clear_specialChars@plt>
mov    $0x8,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x10,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x18,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x20,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x6,%edi
call   10d0 <vt100_set_backLightTimeout@plt>
xor    %edi,%edi
call   10f0 <vt100_set_backLight@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
push   %rax
xor    %edi,%edi
call   1060 <vt100_set_errorCode@plt>
xor    %eax,%eax
call   1040 <vt100_clear_errorText@plt>
xor    %edi,%edi
call   10b0 <vt100_set_autoRepeat@plt>
xor    %edi,%edi
call   1030 <vt100_set_autoWrap@plt>
xor    %edi,%edi
call   1070 <vt100_set_autoScroll@plt>
mov    $0x30,%edi
call   10a0 <vt100_set_currentAttribs@plt>
mov    $0x1,%edi
call   10e0 <vt100_set_cursorBlink@plt>
mov    $0x1,%edi
call   1080 <vt100_set_cursorState@plt>
mov    $0x1,%edi
mov    $0x1,%esi
call   1090 <vt100_set_cursorPos@plt>
xor    %eax,%eax
call   10c0 <vt100_clear_specialChars@plt>
mov    $0x8,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x10,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x18,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x20,%edi
call   1050 <vt100_set_tabStop@plt>
mov    $0x6,%edi
call   10d0 <vt100_set_backLightTimeout@plt>
xor    %edi,%edi
pop    %rax
jmp    10f0 <vt100_set_backLight@plt>

LLVM IR (-O0):
define void @vt100_resetParms() {
%1 = call i32 @vt100_set_errorCode(i32 0)
%2 = call i32 (...) @vt100_clear_errorText()
%3 = call i32 @vt100_set_autoRepeat(i32 0)
%4 = call i32 @vt100_set_autoWrap(i32 0)
%5 = call i32 @vt100_set_autoScroll(i32 0)
%6 = call i32 @vt100_set_currentAttribs(i32 48)
%7 = call i32 @vt100_set_cursorBlink(i32 1)
%8 = call i32 @vt100_set_cursorState(i32 1)
%9 = call i32 @vt100_set_cursorPos(i32 1, i32 1)
%10 = call i32 (...) @vt100_clear_specialChars()
%11 = call i32 @vt100_set_tabStop(i32 8)
%12 = call i32 @vt100_set_tabStop(i32 16)
%13 = call i32 @vt100_set_tabStop(i32 24)
%14 = call i32 @vt100_set_tabStop(i32 32)
%15 = call i32 @vt100_set_backLightTimeout(i32 6)
%16 = call i32 @vt100_set_backLight(i32 0)
ret void
}

LLVM IR (-O2):
define void @vt100_resetParms() {
%1 = tail call i32 @vt100_set_errorCode(i32 0)
%2 = tail call i32 (...) @vt100_clear_errorText()
%3 = tail call i32 @vt100_set_autoRepeat(i32 0)
%4 = tail call i32 @vt100_set_autoWrap(i32 0)
%5 = tail call i32 @vt100_set_autoScroll(i32 0)
%6 = tail call i32 @vt100_set_currentAttribs(i32 48)
%7 = tail call i32 @vt100_set_cursorBlink(i32 1)
%8 = tail call i32 @vt100_set_cursorState(i32 1)
%9 = tail call i32 @vt100_set_cursorPos(i32 1, i32 1)
%10 = tail call i32 (...) @vt100_clear_specialChars()
%11 = tail call i32 @vt100_set_tabStop(i32 8)
%12 = tail call i32 @vt100_set_tabStop(i32 16)
%13 = tail call i32 @vt100_set_tabStop(i32 24)
%14 = tail call i32 @vt100_set_tabStop(i32 32)
%15 = tail call i32 @vt100_set_backLightTimeout(i32 6)
%16 = tail call i32 @vt100_set_backLight(i32 0)
ret void
}