#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 */
#define X_AllocColor 247
#define X_AllocColorCells 246
#define X_AllocColorPlanes 245
#define X_AllocNamedColor 244
#define X_AllowEvents 243
#define X_Bell 242
#define X_ChangeActivePointerGrab 241
#define X_ChangeGC 240
#define X_ChangeHosts 239
#define X_ChangeKeyboardControl 238
#define X_ChangeKeyboardMapping 237
#define X_ChangePointerControl 236
#define X_ChangeProperty 235
#define X_ChangeSaveSet 234
#define X_ChangeWindowAttributes 233
#define X_CirculateWindow 232
#define X_ClearArea 231
#define X_CloseFont 230
#define X_ConfigureWindow 229
#define X_ConvertSelection 228
#define X_CopyArea 227
#define X_CopyColormapAndFree 226
#define X_CopyGC 225
#define X_CopyPlane 224
#define X_CreateColormap 223
#define X_CreateCursor 222
#define X_CreateGC 221
#define X_CreateGlyphCursor 220
#define X_CreatePixmap 219
#define X_CreateWindow 218
#define X_DeleteProperty 217
#define X_DestroySubwindows 216
#define X_DestroyWindow 215
#define X_FillPoly 214
#define X_ForceScreenSaver 213
#define X_FreeColormap 212
#define X_FreeColors 211
#define X_FreeCursor 210
#define X_FreeGC 209
#define X_FreePixmap 208
#define X_GetAtomName 207
#define X_GetFontPath 206
#define X_GetGeometry 205
#define X_GetImage 204
#define X_GetInputFocus 203
#define X_GetKeyboardControl 202
#define X_GetKeyboardMapping 201
#define X_GetModifierMapping 200
#define X_GetMotionEvents 199
#define X_GetPointerControl 198
#define X_GetPointerMapping 197
#define X_GetProperty 196
#define X_GetScreenSaver 195
#define X_GetSelectionOwner 194
#define X_GetWindowAttributes 193
#define X_GrabButton 192
#define X_GrabKey 191
#define X_GrabKeyboard 190
#define X_GrabPointer 189
#define X_GrabServer 188
#define X_ImageText16 187
#define X_ImageText8 186
#define X_InstallColormap 185
#define X_InternAtom 184
#define X_KillClient 183
#define X_ListExtensions 182
#define X_ListFonts 181
#define X_ListFontsWithInfo 180
#define X_ListHosts 179
#define X_ListInstalledColormaps 178
#define X_ListProperties 177
#define X_LookupColor 176
#define X_MapSubwindows 175
#define X_MapWindow 174
#define X_NoOperation 173
#define X_OpenFont 172
#define X_PolyArc 171
#define X_PolyFillArc 170
#define X_PolyFillRectangle 169
#define X_PolyLine 168
#define X_PolyPoint 167
#define X_PolyRectangle 166
#define X_PolySegment 165
#define X_PolyText16 164
#define X_PolyText8 163
#define X_PutImage 162
#define X_QueryBestSize 161
#define X_QueryColors 160
#define X_QueryExtension 159
#define X_QueryFont 158
#define X_QueryKeymap 157
#define X_QueryPointer 156
#define X_QueryTextExtents 155
#define X_QueryTree 154
#define X_RecolorCursor 153
#define X_ReparentWindow 152
#define X_RotateProperties 151
#define X_SendEvent 150
#define X_SetAccessControl 149
#define X_SetClipRectangles 148
#define X_SetCloseDownMode 147
#define X_SetDashes 146
#define X_SetFontPath 145
#define X_SetInputFocus 144
#define X_SetModifierMapping 143
#define X_SetPointerMapping 142
#define X_SetScreenSaver 141
#define X_SetSelectionOwner 140
#define X_StoreColors 139
#define X_StoreNamedColor 138
#define X_TranslateCoords 137
#define X_UngrabButton 136
#define X_UngrabKey 135
#define X_UngrabKeyboard 134
#define X_UngrabPointer 133
#define X_UngrabServer 132
#define X_UninstallColormap 131
#define X_UnmapSubwindows 130
#define X_UnmapWindow 129
#define X_WarpPointer 128
char *HGU_XRequestToString(char request_code) {
  char *str;
  switch (request_code) {
  case X_CreateWindow:
    str = "X_CreateWindow";
    break;
  case X_ChangeWindowAttributes:
    str = "X_ChangeWindowAttributes";
    break;
  case X_GetWindowAttributes:
    str = "X_GetWindowAttributes";
    break;
  case X_DestroyWindow:
    str = "X_DestroyWindow";
    break;
  case X_DestroySubwindows:
    str = "X_DestroySubwindows";
    break;
  case X_ChangeSaveSet:
    str = "X_ChangeSaveSet";
    break;
  case X_ReparentWindow:
    str = "X_ReparentWindow";
    break;
  case X_MapWindow:
    str = "X_MapWindow";
    break;
  case X_MapSubwindows:
    str = "X_MapSubwindows";
    break;
  case X_UnmapWindow:
    str = "X_UnmapWindow";
    break;
  case X_UnmapSubwindows:
    str = "X_UnmapSubwindows";
    break;
  case X_ConfigureWindow:
    str = "X_ConfigureWindow";
    break;
  case X_CirculateWindow:
    str = "X_CirculateWindow";
    break;
  case X_GetGeometry:
    str = "X_GetGeometry";
    break;
  case X_QueryTree:
    str = "X_QueryTree";
    break;
  case X_InternAtom:
    str = "X_InternAtom";
    break;
  case X_GetAtomName:
    str = "X_GetAtomName";
    break;
  case X_ChangeProperty:
    str = "X_ChangeProperty";
    break;
  case X_DeleteProperty:
    str = "X_DeleteProperty";
    break;
  case X_GetProperty:
    str = "X_GetProperty";
    break;
  case X_ListProperties:
    str = "X_ListProperties";
    break;
  case X_SetSelectionOwner:
    str = "X_SetSelectionOwner";
    break;
  case X_GetSelectionOwner:
    str = "X_GetSelectionOwner";
    break;
  case X_ConvertSelection:
    str = "X_ConvertSelection";
    break;
  case X_SendEvent:
    str = "X_SendEvent";
    break;
  case X_GrabPointer:
    str = "X_GrabPointer";
    break;
  case X_UngrabPointer:
    str = "X_UngrabPointer";
    break;
  case X_GrabButton:
    str = "X_GrabButton";
    break;
  case X_UngrabButton:
    str = "X_UngrabButton";
    break;
  case X_ChangeActivePointerGrab:
    str = "X_ChangeActivePointerGrab";
    break;
  case X_GrabKeyboard:
    str = "X_GrabKeyboard";
    break;
  case X_UngrabKeyboard:
    str = "X_UngrabKeyboard";
    break;
  case X_GrabKey:
    str = "X_GrabKey";
    break;
  case X_UngrabKey:
    str = "X_UngrabKey";
    break;
  case X_AllowEvents:
    str = "X_AllowEvents";
    break;
  case X_GrabServer:
    str = "X_GrabServer";
    break;
  case X_UngrabServer:
    str = "X_UngrabServer";
    break;
  case X_QueryPointer:
    str = "X_QueryPointer";
    break;
  case X_GetMotionEvents:
    str = "X_GetMotionEvents";
    break;
  case X_TranslateCoords:
    str = "X_TranslateCoords";
    break;
  case X_WarpPointer:
    str = "X_WarpPointer";
    break;
  case X_SetInputFocus:
    str = "X_SetInputFocus";
    break;
  case X_GetInputFocus:
    str = "X_GetInputFocus";
    break;
  case X_QueryKeymap:
    str = "X_QueryKeymap";
    break;
  case X_OpenFont:
    str = "X_OpenFont";
    break;
  case X_CloseFont:
    str = "X_CloseFont";
    break;
  case X_QueryFont:
    str = "X_QueryFont";
    break;
  case X_QueryTextExtents:
    str = "X_QueryTextExtents";
    break;
  case X_ListFonts:
    str = "X_ListFonts";
    break;
  case X_ListFontsWithInfo:
    str = "X_ListFontsWithInfo";
    break;
  case X_SetFontPath:
    str = "X_SetFontPath";
    break;
  case X_GetFontPath:
    str = "X_GetFontPath";
    break;
  case X_CreatePixmap:
    str = "X_CreatePixmap";
    break;
  case X_FreePixmap:
    str = "X_FreePixmap";
    break;
  case X_CreateGC:
    str = "X_CreateGC";
    break;
  case X_ChangeGC:
    str = "X_ChangeGC";
    break;
  case X_CopyGC:
    str = "X_CopyGC";
    break;
  case X_SetDashes:
    str = "X_SetDashes";
    break;
  case X_SetClipRectangles:
    str = "X_SetClipRectangles";
    break;
  case X_FreeGC:
    str = "X_FreeGC";
    break;
  case X_ClearArea:
    str = "X_ClearArea";
    break;
  case X_CopyArea:
    str = "X_CopyArea";
    break;
  case X_CopyPlane:
    str = "X_CopyPlane";
    break;
  case X_PolyPoint:
    str = "X_PolyPoint";
    break;
  case X_PolyLine:
    str = "X_PolyLine";
    break;
  case X_PolySegment:
    str = "X_PolySegment";
    break;
  case X_PolyRectangle:
    str = "X_PolyRectangle";
    break;
  case X_PolyArc:
    str = "X_PolyArc";
    break;
  case X_FillPoly:
    str = "X_FillPoly";
    break;
  case X_PolyFillRectangle:
    str = "X_PolyFillRectangle";
    break;
  case X_PolyFillArc:
    str = "X_PolyFillArc";
    break;
  case X_PutImage:
    str = "X_PutImage";
    break;
  case X_GetImage:
    str = "X_GetImage";
    break;
  case X_PolyText8:
    str = "X_PolyText8";
    break;
  case X_PolyText16:
    str = "X_PolyText16";
    break;
  case X_ImageText8:
    str = "X_ImageText8";
    break;
  case X_ImageText16:
    str = "X_ImageText16";
    break;
  case X_CreateColormap:
    str = "X_CreateColormap";
    break;
  case X_FreeColormap:
    str = "X_FreeColormap";
    break;
  case X_CopyColormapAndFree:
    str = "X_CopyColormapAndFree";
    break;
  case X_InstallColormap:
    str = "X_InstallColormap";
    break;
  case X_UninstallColormap:
    str = "X_UninstallColormap";
    break;
  case X_ListInstalledColormaps:
    str = "X_ListInstalledColormaps";
    break;
  case X_AllocColor:
    str = "X_AllocColor";
    break;
  case X_AllocNamedColor:
    str = "X_AllocNamedColor";
    break;
  case X_AllocColorCells:
    str = "X_AllocColorCells";
    break;
  case X_AllocColorPlanes:
    str = "X_AllocColorPlanes";
    break;
  case X_FreeColors:
    str = "X_FreeColors";
    break;
  case X_StoreColors:
    str = "X_StoreColors";
    break;
  case X_StoreNamedColor:
    str = "X_StoreNamedColor";
    break;
  case X_QueryColors:
    str = "X_QueryColors";
    break;
  case X_LookupColor:
    str = "X_LookupColor";
    break;
  case X_CreateCursor:
    str = "X_CreateCursor";
    break;
  case X_CreateGlyphCursor:
    str = "X_CreateGlyphCursor";
    break;
  case X_FreeCursor:
    str = "X_FreeCursor";
    break;
  case X_RecolorCursor:
    str = "X_RecolorCursor";
    break;
  case X_QueryBestSize:
    str = "X_QueryBestSize";
    break;
  case X_QueryExtension:
    str = "X_QueryExtension";
    break;
  case X_ListExtensions:
    str = "X_ListExtensions";
    break;
  case X_ChangeKeyboardMapping:
    str = "X_ChangeKeyboardMapping";
    break;
  case X_GetKeyboardMapping:
    str = "X_GetKeyboardMapping";
    break;
  case X_ChangeKeyboardControl:
    str = "X_ChangeKeyboardControl";
    break;
  case X_GetKeyboardControl:
    str = "X_GetKeyboardControl";
    break;
  case X_Bell:
    str = "X_Bell";
    break;
  case X_ChangePointerControl:
    str = "X_ChangePointerControl";
    break;
  case X_GetPointerControl:
    str = "X_GetPointerControl";
    break;
  case X_SetScreenSaver:
    str = "X_SetScreenSaver";
    break;
  case X_GetScreenSaver:
    str = "X_GetScreenSaver";
    break;
  case X_ChangeHosts:
    str = "X_ChangeHosts";
    break;
  case X_ListHosts:
    str = "X_ListHosts";
    break;
  case X_SetAccessControl:
    str = "X_SetAccessControl";
    break;
  case X_SetCloseDownMode:
    str = "X_SetCloseDownMode";
    break;
  case X_KillClient:
    str = "X_KillClient";
    break;
  case X_RotateProperties:
    str = "X_RotateProperties";
    break;
  case X_ForceScreenSaver:
    str = "X_ForceScreenSaver";
    break;
  case X_SetPointerMapping:
    str = "X_SetPointerMapping";
    break;
  case X_GetPointerMapping:
    str = "X_GetPointerMapping";
    break;
  case X_SetModifierMapping:
    str = "X_SetModifierMapping";
    break;
  case X_GetModifierMapping:
    str = "X_GetModifierMapping";
    break;
  case X_NoOperation:
    str = "X_NoOperation";
    break;
  default:
    str = "unknown code";
    break;
  }
  return str;
}


x86 assembly (clang, -O0):
<HGU_XRequestToString>:
push   %rbp
mov    %rsp,%rbp
mov    %dil,%al
mov    %al,-0x1(%rbp)
movsbl -0x1(%rbp),%eax
add    $0xffffff80,%eax
mov    %eax,%ecx
mov    %rcx,-0x18(%rbp)
sub    $0x77,%eax
ja     18b4 <HGU_XRequestToString+0x7b4>
mov    -0x18(%rbp),%rax
lea    0xed5(%rip),%rcx
movslq (%rcx,%rax,4),%rax
add    %rcx,%rax
jmp    *%rax
lea    0x10a5(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10a4(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10ad(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b3(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b3(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b7(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b7(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b8(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b4(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b4(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b2(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b4(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b6(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b8(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b6(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b2(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10af(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10ad(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10ae(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10af(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10ad(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10ae(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b2(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b6(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b9(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b5(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b3(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b3(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b0(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10af(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b9(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b8(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b9(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10b3(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10af(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10ad(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10aa(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10a9(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10a8(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10aa(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10ac(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10aa(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10aa(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10aa(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10a8(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x10a3(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x109f(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x109b(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x109e(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x109a(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x109e(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x109c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x109a(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1099(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1096(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1091(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x108c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1085(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1081(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1085(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x107e(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x107a(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1075(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1071(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x106d(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1068(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1066(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1066(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1060(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105b(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105f(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105d(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1058(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1053(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x104f(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x104c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1049(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1047(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1048(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1047(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x104d(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x104f(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1053(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1059(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105b(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105d(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1060(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105d(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105b(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105d(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105b(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1059(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1058(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1059(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1059(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1059(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105a(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x105b(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1063(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1068(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1070(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1075(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x106c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1073(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1077(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1078(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1079(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1077(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1073(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1076(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1079(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1076(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1079(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x107c(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1080(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1084(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x1089(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x108e(%rip),%rax
mov    %rax,-0x10(%rbp)
jmp    18bf <HGU_XRequestToString+0x7bf>
lea    0x108c(%rip),%rax
mov    %rax,-0x10(%rbp)
mov    -0x10(%rbp),%rax
pop    %rbp
ret

x86 assembly (clang, -O2):
<HGU_XRequestToString>:
lea    0xef9(%rip),%rax
ret

LLVM IR (-O0):
@.str = [15 x i8] c"X_CreateWindow\00"
@.str.1 = [25 x i8] c"X_ChangeWindowAttributes\00"
@.str.2 = [22 x i8] c"X_GetWindowAttributes\00"
@.str.3 = [16 x i8] c"X_DestroyWindow\00"
@.str.4 = [20 x i8] c"X_DestroySubwindows\00"
@.str.5 = [16 x i8] c"X_ChangeSaveSet\00"
@.str.6 = [17 x i8] c"X_ReparentWindow\00"
@.str.7 = [12 x i8] c"X_MapWindow\00"
@.str.8 = [16 x i8] c"X_MapSubwindows\00"
@.str.9 = [14 x i8] c"X_UnmapWindow\00"
@.str.10 = [18 x i8] c"X_UnmapSubwindows\00"
@.str.11 = [18 x i8] c"X_ConfigureWindow\00"
@.str.12 = [18 x i8] c"X_CirculateWindow\00"
@.str.13 = [14 x i8] c"X_GetGeometry\00"
@.str.14 = [12 x i8] c"X_QueryTree\00"
@.str.15 = [13 x i8] c"X_InternAtom\00"
@.str.16 = [14 x i8] c"X_GetAtomName\00"
@.str.17 = [17 x i8] c"X_ChangeProperty\00"
@.str.18 = [17 x i8] c"X_DeleteProperty\00"
@.str.19 = [14 x i8] c"X_GetProperty\00"
@.str.20 = [17 x i8] c"X_ListProperties\00"
@.str.21 = [20 x i8] c"X_SetSelectionOwner\00"
@.str.22 = [20 x i8] c"X_GetSelectionOwner\00"
@.str.23 = [19 x i8] c"X_ConvertSelection\00"
@.str.24 = [12 x i8] c"X_SendEvent\00"
@.str.25 = [14 x i8] c"X_GrabPointer\00"
@.str.26 = [16 x i8] c"X_UngrabPointer\00"
@.str.27 = [13 x i8] c"X_GrabButton\00"
@.str.28 = [15 x i8] c"X_UngrabButton\00"
@.str.29 = [26 x i8] c"X_ChangeActivePointerGrab\00"
@.str.30 = [15 x i8] c"X_GrabKeyboard\00"
@.str.31 = [17 x i8] c"X_UngrabKeyboard\00"
@.str.32 = [10 x i8] c"X_GrabKey\00"
@.str.33 = [12 x i8] c"X_UngrabKey\00"
@.str.34 = [14 x i8] c"X_AllowEvents\00"
@.str.35 = [13 x i8] c"X_GrabServer\00"
@.str.36 = [15 x i8] c"X_UngrabServer\00"
@.str.37 = [15 x i8] c"X_QueryPointer\00"
@.str.38 = [18 x i8] c"X_GetMotionEvents\00"
@.str.39 = [18 x i8] c"X_TranslateCoords\00"
@.str.40 = [14 x i8] c"X_WarpPointer\00"
@.str.41 = [16 x i8] c"X_SetInputFocus\00"
@.str.42 = [16 x i8] c"X_GetInputFocus\00"
@.str.43 = [14 x i8] c"X_QueryKeymap\00"
@.str.44 = [11 x i8] c"X_OpenFont\00"
@.str.45 = [12 x i8] c"X_CloseFont\00"
@.str.46 = [12 x i8] c"X_QueryFont\00"
@.str.47 = [19 x i8] c"X_QueryTextExtents\00"
@.str.48 = [12 x i8] c"X_ListFonts\00"
@.str.49 = [20 x i8] c"X_ListFontsWithInfo\00"
@.str.50 = [14 x i8] c"X_SetFontPath\00"
@.str.51 = [14 x i8] c"X_GetFontPath\00"
@.str.52 = [15 x i8] c"X_CreatePixmap\00"
@.str.53 = [13 x i8] c"X_FreePixmap\00"
@.str.54 = [11 x i8] c"X_CreateGC\00"
@.str.55 = [11 x i8] c"X_ChangeGC\00"
@.str.56 = [9 x i8] c"X_CopyGC\00"
@.str.57 = [12 x i8] c"X_SetDashes\00"
@.str.58 = [20 x i8] c"X_SetClipRectangles\00"
@.str.59 = [9 x i8] c"X_FreeGC\00"
@.str.60 = [12 x i8] c"X_ClearArea\00"
@.str.61 = [11 x i8] c"X_CopyArea\00"
@.str.62 = [12 x i8] c"X_CopyPlane\00"
@.str.63 = [12 x i8] c"X_PolyPoint\00"
@.str.64 = [11 x i8] c"X_PolyLine\00"
@.str.65 = [14 x i8] c"X_PolySegment\00"
@.str.66 = [16 x i8] c"X_PolyRectangle\00"
@.str.67 = [10 x i8] c"X_PolyArc\00"
@.str.68 = [11 x i8] c"X_FillPoly\00"
@.str.69 = [20 x i8] c"X_PolyFillRectangle\00"
@.str.70 = [14 x i8] c"X_PolyFillArc\00"
@.str.71 = [11 x i8] c"X_PutImage\00"
@.str.72 = [11 x i8] c"X_GetImage\00"
@.str.73 = [12 x i8] c"X_PolyText8\00"
@.str.74 = [13 x i8] c"X_PolyText16\00"
@.str.75 = [13 x i8] c"X_ImageText8\00"
@.str.76 = [14 x i8] c"X_ImageText16\00"
@.str.77 = [17 x i8] c"X_CreateColormap\00"
@.str.78 = [15 x i8] c"X_FreeColormap\00"
@.str.79 = [22 x i8] c"X_CopyColormapAndFree\00"
@.str.80 = [18 x i8] c"X_InstallColormap\00"
@.str.81 = [20 x i8] c"X_UninstallColormap\00"
@.str.82 = [25 x i8] c"X_ListInstalledColormaps\00"
@.str.83 = [13 x i8] c"X_AllocColor\00"
@.str.84 = [18 x i8] c"X_AllocNamedColor\00"
@.str.85 = [18 x i8] c"X_AllocColorCells\00"
@.str.86 = [19 x i8] c"X_AllocColorPlanes\00"
@.str.87 = [13 x i8] c"X_FreeColors\00"
@.str.88 = [14 x i8] c"X_StoreColors\00"
@.str.89 = [18 x i8] c"X_StoreNamedColor\00"
@.str.90 = [14 x i8] c"X_QueryColors\00"
@.str.91 = [14 x i8] c"X_LookupColor\00"
@.str.92 = [15 x i8] c"X_CreateCursor\00"
@.str.93 = [20 x i8] c"X_CreateGlyphCursor\00"
@.str.94 = [13 x i8] c"X_FreeCursor\00"
@.str.95 = [16 x i8] c"X_RecolorCursor\00"
@.str.96 = [16 x i8] c"X_QueryBestSize\00"
@.str.97 = [17 x i8] c"X_QueryExtension\00"
@.str.98 = [17 x i8] c"X_ListExtensions\00"
@.str.99 = [24 x i8] c"X_ChangeKeyboardMapping\00"
@.str.100 = [21 x i8] c"X_GetKeyboardMapping\00"
@.str.101 = [24 x i8] c"X_ChangeKeyboardControl\00"
@.str.102 = [21 x i8] c"X_GetKeyboardControl\00"
@.str.103 = [7 x i8] c"X_Bell\00"
@.str.104 = [23 x i8] c"X_ChangePointerControl\00"
@.str.105 = [20 x i8] c"X_GetPointerControl\00"
@.str.106 = [17 x i8] c"X_SetScreenSaver\00"
@.str.107 = [17 x i8] c"X_GetScreenSaver\00"
@.str.108 = [14 x i8] c"X_ChangeHosts\00"
@.str.109 = [12 x i8] c"X_ListHosts\00"
@.str.110 = [19 x i8] c"X_SetAccessControl\00"
@.str.111 = [19 x i8] c"X_SetCloseDownMode\00"
@.str.112 = [13 x i8] c"X_KillClient\00"
@.str.113 = [19 x i8] c"X_RotateProperties\00"
@.str.114 = [19 x i8] c"X_ForceScreenSaver\00"
@.str.115 = [20 x i8] c"X_SetPointerMapping\00"
@.str.116 = [20 x i8] c"X_GetPointerMapping\00"
@.str.117 = [21 x i8] c"X_SetModifierMapping\00"
@.str.118 = [21 x i8] c"X_GetModifierMapping\00"
@.str.119 = [14 x i8] c"X_NoOperation\00"
@.str.120 = [13 x i8] c"unknown code\00"
define i8* @HGU_XRequestToString(i8 signext %0) {
%2 = alloca i8
%3 = alloca i8*
store i8 %0, i8* %2
%4 = load i8, i8* %2
%5 = sext i8 %4 to i32
switch i32 %5, label %126 [
i32 218, label %6
i32 233, label %7
i32 193, label %8
i32 215, label %9
i32 216, label %10
i32 234, label %11
i32 152, label %12
i32 174, label %13
i32 175, label %14
i32 129, label %15
i32 130, label %16
i32 229, label %17
i32 232, label %18
i32 205, label %19
i32 154, label %20
i32 184, label %21
i32 207, label %22
i32 235, label %23
i32 217, label %24
i32 196, label %25
i32 177, label %26
i32 140, label %27
i32 194, label %28
i32 228, label %29
i32 150, label %30
i32 189, label %31
i32 133, label %32
i32 192, label %33
i32 136, label %34
i32 241, label %35
i32 190, label %36
i32 134, label %37
i32 191, label %38
i32 135, label %39
i32 243, label %40
i32 188, label %41
i32 132, label %42
i32 156, label %43
i32 199, label %44
i32 137, label %45
i32 128, label %46
i32 144, label %47
i32 203, label %48
i32 157, label %49
i32 172, label %50
i32 230, label %51
i32 158, label %52
i32 155, label %53
i32 181, label %54
i32 180, label %55
i32 145, label %56
i32 206, label %57
i32 219, label %58
i32 208, label %59
i32 221, label %60
i32 240, label %61
i32 225, label %62
i32 146, label %63
i32 148, label %64
i32 209, label %65
i32 231, label %66
i32 227, label %67
i32 224, label %68
i32 167, label %69
i32 168, label %70
i32 165, label %71
i32 166, label %72
i32 171, label %73
i32 214, label %74
i32 169, label %75
i32 170, label %76
i32 162, label %77
i32 204, label %78
i32 163, label %79
i32 164, label %80
i32 186, label %81
i32 187, label %82
i32 223, label %83
i32 212, label %84
i32 226, label %85
i32 185, label %86
i32 131, label %87
i32 178, label %88
i32 247, label %89
i32 244, label %90
i32 246, label %91
i32 245, label %92
i32 211, label %93
i32 139, label %94
i32 138, label %95
i32 160, label %96
i32 176, label %97
i32 222, label %98
i32 220, label %99
i32 210, label %100
i32 153, label %101
i32 161, label %102
i32 159, label %103
i32 182, label %104
i32 237, label %105
i32 201, label %106
i32 238, label %107
i32 202, label %108
i32 242, label %109
i32 236, label %110
i32 198, label %111
i32 141, label %112
i32 195, label %113
i32 239, label %114
i32 179, label %115
i32 149, label %116
i32 147, label %117
i32 183, label %118
i32 151, label %119
i32 213, label %120
i32 142, label %121
i32 197, label %122
i32 143, label %123
i32 200, label %124
i32 173, label %125
]
6: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str, i64 0, i64 0), i8** %3
br label %127
7: ; preds = %1
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.1, i64 0, i64 0), i8** %3
br label %127
8: ; preds = %1
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.2, i64 0, i64 0), i8** %3
br label %127
9: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.3, i64 0, i64 0), i8** %3
br label %127
10: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.4, i64 0, i64 0), i8** %3
br label %127
11: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.5, i64 0, i64 0), i8** %3
br label %127
12: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.6, i64 0, i64 0), i8** %3
br label %127
13: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.7, i64 0, i64 0), i8** %3
br label %127
14: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.8, i64 0, i64 0), i8** %3
br label %127
15: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.9, i64 0, i64 0), i8** %3
br label %127
16: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.10, i64 0, i64 0), i8** %3
br label %127
17: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.11, i64 0, i64 0), i8** %3
br label %127
18: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.12, i64 0, i64 0), i8** %3
br label %127
19: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.13, i64 0, i64 0), i8** %3
br label %127
20: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.14, i64 0, i64 0), i8** %3
br label %127
21: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.15, i64 0, i64 0), i8** %3
br label %127
22: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.16, i64 0, i64 0), i8** %3
br label %127
23: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.17, i64 0, i64 0), i8** %3
br label %127
24: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.18, i64 0, i64 0), i8** %3
br label %127
25: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.19, i64 0, i64 0), i8** %3
br label %127
26: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.20, i64 0, i64 0), i8** %3
br label %127
27: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.21, i64 0, i64 0), i8** %3
br label %127
28: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.22, i64 0, i64 0), i8** %3
br label %127
29: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.23, i64 0, i64 0), i8** %3
br label %127
30: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.24, i64 0, i64 0), i8** %3
br label %127
31: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.25, i64 0, i64 0), i8** %3
br label %127
32: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.26, i64 0, i64 0), i8** %3
br label %127
33: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.27, i64 0, i64 0), i8** %3
br label %127
34: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.28, i64 0, i64 0), i8** %3
br label %127
35: ; preds = %1
store i8* getelementptr inbounds ([26 x i8], [26 x i8]* @.str.29, i64 0, i64 0), i8** %3
br label %127
36: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.30, i64 0, i64 0), i8** %3
br label %127
37: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.31, i64 0, i64 0), i8** %3
br label %127
38: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.32, i64 0, i64 0), i8** %3
br label %127
39: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.33, i64 0, i64 0), i8** %3
br label %127
40: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.34, i64 0, i64 0), i8** %3
br label %127
41: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.35, i64 0, i64 0), i8** %3
br label %127
42: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.36, i64 0, i64 0), i8** %3
br label %127
43: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.37, i64 0, i64 0), i8** %3
br label %127
44: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.38, i64 0, i64 0), i8** %3
br label %127
45: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.39, i64 0, i64 0), i8** %3
br label %127
46: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.40, i64 0, i64 0), i8** %3
br label %127
47: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.41, i64 0, i64 0), i8** %3
br label %127
48: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.42, i64 0, i64 0), i8** %3
br label %127
49: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.43, i64 0, i64 0), i8** %3
br label %127
50: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.44, i64 0, i64 0), i8** %3
br label %127
51: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.45, i64 0, i64 0), i8** %3
br label %127
52: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.46, i64 0, i64 0), i8** %3
br label %127
53: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.47, i64 0, i64 0), i8** %3
br label %127
54: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.48, i64 0, i64 0), i8** %3
br label %127
55: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.49, i64 0, i64 0), i8** %3
br label %127
56: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.50, i64 0, i64 0), i8** %3
br label %127
57: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.51, i64 0, i64 0), i8** %3
br label %127
58: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.52, i64 0, i64 0), i8** %3
br label %127
59: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.53, i64 0, i64 0), i8** %3
br label %127
60: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.54, i64 0, i64 0), i8** %3
br label %127
61: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.55, i64 0, i64 0), i8** %3
br label %127
62: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.56, i64 0, i64 0), i8** %3
br label %127
63: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.57, i64 0, i64 0), i8** %3
br label %127
64: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.58, i64 0, i64 0), i8** %3
br label %127
65: ; preds = %1
store i8* getelementptr inbounds ([9 x i8], [9 x i8]* @.str.59, i64 0, i64 0), i8** %3
br label %127
66: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.60, i64 0, i64 0), i8** %3
br label %127
67: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.61, i64 0, i64 0), i8** %3
br label %127
68: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.62, i64 0, i64 0), i8** %3
br label %127
69: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.63, i64 0, i64 0), i8** %3
br label %127
70: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.64, i64 0, i64 0), i8** %3
br label %127
71: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.65, i64 0, i64 0), i8** %3
br label %127
72: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.66, i64 0, i64 0), i8** %3
br label %127
73: ; preds = %1
store i8* getelementptr inbounds ([10 x i8], [10 x i8]* @.str.67, i64 0, i64 0), i8** %3
br label %127
74: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.68, i64 0, i64 0), i8** %3
br label %127
75: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.69, i64 0, i64 0), i8** %3
br label %127
76: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.70, i64 0, i64 0), i8** %3
br label %127
77: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.71, i64 0, i64 0), i8** %3
br label %127
78: ; preds = %1
store i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.72, i64 0, i64 0), i8** %3
br label %127
79: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.73, i64 0, i64 0), i8** %3
br label %127
80: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.74, i64 0, i64 0), i8** %3
br label %127
81: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.75, i64 0, i64 0), i8** %3
br label %127
82: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.76, i64 0, i64 0), i8** %3
br label %127
83: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.77, i64 0, i64 0), i8** %3
br label %127
84: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.78, i64 0, i64 0), i8** %3
br label %127
85: ; preds = %1
store i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.79, i64 0, i64 0), i8** %3
br label %127
86: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.80, i64 0, i64 0), i8** %3
br label %127
87: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.81, i64 0, i64 0), i8** %3
br label %127
88: ; preds = %1
store i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.82, i64 0, i64 0), i8** %3
br label %127
89: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.83, i64 0, i64 0), i8** %3
br label %127
90: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.84, i64 0, i64 0), i8** %3
br label %127
91: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.85, i64 0, i64 0), i8** %3
br label %127
92: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.86, i64 0, i64 0), i8** %3
br label %127
93: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.87, i64 0, i64 0), i8** %3
br label %127
94: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.88, i64 0, i64 0), i8** %3
br label %127
95: ; preds = %1
store i8* getelementptr inbounds ([18 x i8], [18 x i8]* @.str.89, i64 0, i64 0), i8** %3
br label %127
96: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.90, i64 0, i64 0), i8** %3
br label %127
97: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.91, i64 0, i64 0), i8** %3
br label %127
98: ; preds = %1
store i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.92, i64 0, i64 0), i8** %3
br label %127
99: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.93, i64 0, i64 0), i8** %3
br label %127
100: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.94, i64 0, i64 0), i8** %3
br label %127
101: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.95, i64 0, i64 0), i8** %3
br label %127
102: ; preds = %1
store i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.96, i64 0, i64 0), i8** %3
br label %127
103: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.97, i64 0, i64 0), i8** %3
br label %127
104: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.98, i64 0, i64 0), i8** %3
br label %127
105: ; preds = %1
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.99, i64 0, i64 0), i8** %3
br label %127
106: ; preds = %1
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.100, i64 0, i64 0), i8** %3
br label %127
107: ; preds = %1
store i8* getelementptr inbounds ([24 x i8], [24 x i8]* @.str.101, i64 0, i64 0), i8** %3
br label %127
108: ; preds = %1
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.102, i64 0, i64 0), i8** %3
br label %127
109: ; preds = %1
store i8* getelementptr inbounds ([7 x i8], [7 x i8]* @.str.103, i64 0, i64 0), i8** %3
br label %127
110: ; preds = %1
store i8* getelementptr inbounds ([23 x i8], [23 x i8]* @.str.104, i64 0, i64 0), i8** %3
br label %127
111: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.105, i64 0, i64 0), i8** %3
br label %127
112: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.106, i64 0, i64 0), i8** %3
br label %127
113: ; preds = %1
store i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.107, i64 0, i64 0), i8** %3
br label %127
114: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.108, i64 0, i64 0), i8** %3
br label %127
115: ; preds = %1
store i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.109, i64 0, i64 0), i8** %3
br label %127
116: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.110, i64 0, i64 0), i8** %3
br label %127
117: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.111, i64 0, i64 0), i8** %3
br label %127
118: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.112, i64 0, i64 0), i8** %3
br label %127
119: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.113, i64 0, i64 0), i8** %3
br label %127
120: ; preds = %1
store i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.114, i64 0, i64 0), i8** %3
br label %127
121: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.115, i64 0, i64 0), i8** %3
br label %127
122: ; preds = %1
store i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.116, i64 0, i64 0), i8** %3
br label %127
123: ; preds = %1
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.117, i64 0, i64 0), i8** %3
br label %127
124: ; preds = %1
store i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.118, i64 0, i64 0), i8** %3
br label %127
125: ; preds = %1
store i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.119, i64 0, i64 0), i8** %3
br label %127
126: ; preds = %1
store i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.120, i64 0, i64 0), i8** %3
br label %127
127: ; preds = %126, %125, %124, %123, %122, %121, %120, %119, %118, %117, %116, %115, %114, %113, %112, %111, %110, %109, %108, %107, %106, %105, %104, %103, %102, %101, %100, %99, %98, %97, %96, %95, %94, %93, %92, %91, %90, %89, %88, %87, %86, %85, %84, %83, %82, %81, %80, %79, %78, %77, %76, %75, %74, %73, %72, %71, %70, %69, %68, %67, %66, %65, %64, %63, %62, %61, %60, %59, %58, %57, %56, %55, %54, %53, %52, %51, %50, %49, %48, %47, %46, %45, %44, %43, %42, %41, %40, %39, %38, %37, %36, %35, %34, %33, %32, %31, %30, %29, %28, %27, %26, %25, %24, %23, %22, %21, %20, %19, %18, %17, %16, %15, %14, %13, %12, %11, %10, %9, %8, %7, %6
%128 = load i8*, i8** %3
ret i8* %128
}

LLVM IR (-O2):
@.str.120 = [13 x i8] c"unknown code\00"
define i8* @HGU_XRequestToString(i8 signext %0) {
ret i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.120, i64 0, i64 0)
}