Use the llvm-upgrade program to upgrade llvm assembly.
[oota-llvm.git] / test / Transforms / DeadStoreElimination / 2006-06-27-AST-Remove.ll
1 ; RUN: llvm-upgrade < %s | llvm-as | opt -globalsmodref-aa -dse -disable-output
2 target endian = big
3 target pointersize = 32
4 target triple = "powerpc-apple-darwin8"
5         %struct.ECacheType = type { uint, uint, int }
6         %struct.FILE = type { ubyte*, int, int, short, short, %struct.__sbuf, int, sbyte*, int (sbyte*)*, int (sbyte*, sbyte*, int)*, long (sbyte*, long, int)*, int (sbyte*, sbyte*, int)*, %struct.__sbuf, %struct.__sFILEX*, int, [3 x ubyte], [1 x ubyte], %struct.__sbuf, int, long }
7         %struct.QTType = type { sbyte, sbyte, ushort, uint, uint, int }
8         %struct.TType = type { sbyte, sbyte, sbyte, sbyte, ushort, uint, uint, int }
9         %struct._RuneEntry = type { int, int, int, uint* }
10         %struct._RuneLocale = type { [8 x sbyte], [32 x sbyte], int (sbyte*, uint, sbyte**)*, int (int, sbyte*, uint, sbyte**)*, int, [256 x uint], [256 x int], [256 x int], %struct._RuneRange, %struct._RuneRange, %struct._RuneRange, sbyte*, int }
11         %struct._RuneRange = type { int, %struct._RuneEntry* }
12         %struct.__sFILEX = type opaque
13         %struct.__sbuf = type { ubyte*, int }
14         %struct.move_s = type { int, int, int, int, int, int }
15         %struct.move_x = type { int, int, int, int }
16         %struct.node_t = type { ubyte, ubyte, ubyte, ubyte, int, int, %struct.node_t**, %struct.node_t*, %struct.move_s }
17         %struct.see_data = type { int, int }
18 %rook_o.2925 = internal global [4 x int] [ int 12, int -12, int 1, int -1 ]             ; <[4 x int]*> [#uses=0]
19 %bishop_o.2926 = internal global [4 x int] [ int 11, int -11, int 13, int -13 ]         ; <[4 x int]*> [#uses=0]
20 %knight_o.2927 = internal global [8 x int] [ int 10, int -10, int 14, int -14, int 23, int -23, int 25, int -25 ]               ; <[8 x int]*> [#uses=0]
21 %board = internal global [144 x int] zeroinitializer            ; <[144 x int]*> [#uses=0]
22 %holding = internal global [2 x [16 x int]] zeroinitializer             ; <[2 x [16 x int]]*> [#uses=0]
23 %hold_hash = internal global uint 0             ; <uint*> [#uses=0]
24 %white_hand_eval = internal global int 0                ; <int*> [#uses=0]
25 %black_hand_eval = internal global int 0                ; <int*> [#uses=0]
26 %num_holding = internal global [2 x int] zeroinitializer                ; <[2 x int]*> [#uses=0]
27 %zobrist = internal global [14 x [144 x uint]] zeroinitializer          ; <[14 x [144 x uint]]*> [#uses=0]
28 %Variant = internal global int 0                ; <int*> [#uses=7]
29 %userealholdings.b = internal global bool false         ; <bool*> [#uses=1]
30 %realholdings = internal global [255 x sbyte] zeroinitializer           ; <[255 x sbyte]*> [#uses=0]
31 %comp_color = internal global int 0             ; <int*> [#uses=0]
32 %C.97.3177 = internal global [13 x int] [ int 0, int 2, int 1, int 4, int 3, int 0, int 0, int 8, int 7, int 10, int 9, int 12, int 11 ]                ; <[13 x int]*> [#uses=0]
33 %str = internal global [30 x sbyte] c"%s:%u: failed assertion `%s'\0A\00"               ; <[30 x sbyte]*> [#uses=0]
34 %str = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/crazy.c\00"              ; <[81 x sbyte]*> [#uses=0]
35 %str = internal global [32 x sbyte] c"piece > frame && piece < npiece\00"               ; <[32 x sbyte]*> [#uses=0]
36 %C.101.3190 = internal global [13 x int] [ int 0, int 2, int 1, int 2, int 1, int 0, int 0, int 2, int 1, int 2, int 1, int 2, int 1 ]          ; <[13 x int]*> [#uses=0]
37 %hand_value = internal global [13 x int] [ int 0, int 100, int -100, int 210, int -210, int 0, int 0, int 250, int -250, int 450, int -450, int 230, int -230 ]         ; <[13 x int]*> [#uses=0]
38 %material = internal global [14 x int] zeroinitializer          ; <[14 x int]*> [#uses=0]
39 %Material = internal global int 0               ; <int*> [#uses=0]
40 %str = internal global [23 x sbyte] c"holding[who][what] > 0\00"                ; <[23 x sbyte]*> [#uses=0]
41 %str = internal global [24 x sbyte] c"holding[who][what] < 20\00"               ; <[24 x sbyte]*> [#uses=0]
42 %fifty = internal global int 0          ; <int*> [#uses=0]
43 %move_number = internal global int 0            ; <int*> [#uses=1]
44 %ply = internal global int 0            ; <int*> [#uses=2]
45 %hash_history = internal global [600 x uint] zeroinitializer            ; <[600 x uint]*> [#uses=1]
46 %hash = internal global uint 0          ; <uint*> [#uses=1]
47 %ECacheSize.b = internal global bool false              ; <bool*> [#uses=1]
48 %ECache = internal global %struct.ECacheType* null              ; <%struct.ECacheType**> [#uses=1]
49 %ECacheProbes = internal global uint 0          ; <uint*> [#uses=1]
50 %ECacheHits = internal global uint 0            ; <uint*> [#uses=1]
51 %str = internal global [34 x sbyte] c"Out of memory allocating ECache.\0A\00"           ; <[34 x sbyte]*> [#uses=0]
52 %rankoffsets.2930 = internal global [8 x int] [ int 110, int 98, int 86, int 74, int 62, int 50, int 38, int 26 ]               ; <[8 x int]*> [#uses=0]
53 %white_castled = internal global int 0          ; <int*> [#uses=0]
54 %black_castled = internal global int 0          ; <int*> [#uses=0]
55 %book_ply = internal global int 0               ; <int*> [#uses=0]
56 %bking_loc = internal global int 0              ; <int*> [#uses=1]
57 %wking_loc = internal global int 0              ; <int*> [#uses=1]
58 %white_to_move = internal global int 0          ; <int*> [#uses=3]
59 %moved = internal global [144 x int] zeroinitializer            ; <[144 x int]*> [#uses=0]
60 %ep_square = internal global int 0              ; <int*> [#uses=0]
61 %_DefaultRuneLocale = external global %struct._RuneLocale               ; <%struct._RuneLocale*> [#uses=0]
62 %str = internal global [3 x sbyte] c"bm\00"             ; <[3 x sbyte]*> [#uses=0]
63 %str1 = internal global [3 x sbyte] c"am\00"            ; <[3 x sbyte]*> [#uses=0]
64 %str1 = internal global [34 x sbyte] c"No best-move or avoid-move found!\00"            ; <[34 x sbyte]*> [#uses=0]
65 %str = internal global [25 x sbyte] c"\0AName of EPD testsuite: \00"            ; <[25 x sbyte]*> [#uses=0]
66 %__sF = external global [0 x %struct.FILE]              ; <[0 x %struct.FILE]*> [#uses=0]
67 %str = internal global [21 x sbyte] c"\0ATime per move (s): \00"                ; <[21 x sbyte]*> [#uses=0]
68 %str = internal global [2 x sbyte] c"\0A\00"            ; <[2 x sbyte]*> [#uses=0]
69 %str2 = internal global [2 x sbyte] c"r\00"             ; <[2 x sbyte]*> [#uses=0]
70 %root_to_move = internal global int 0           ; <int*> [#uses=1]
71 %forcedwin.b = internal global bool false               ; <bool*> [#uses=2]
72 %fixed_time = internal global int 0             ; <int*> [#uses=1]
73 %nodes = internal global int 0          ; <int*> [#uses=1]
74 %qnodes = internal global int 0         ; <int*> [#uses=1]
75 %str = internal global [29 x sbyte] c"\0ANodes: %i (%0.2f%% qnodes)\0A\00"              ; <[29 x sbyte]*> [#uses=0]
76 %str = internal global [54 x sbyte] c"ECacheProbes : %u   ECacheHits : %u   HitRate : %f%%\0A\00"               ; <[54 x sbyte]*> [#uses=0]
77 %TTStores = internal global uint 0              ; <uint*> [#uses=1]
78 %TTProbes = internal global uint 0              ; <uint*> [#uses=1]
79 %TTHits = internal global uint 0                ; <uint*> [#uses=1]
80 %str = internal global [60 x sbyte] c"TTStores : %u TTProbes : %u   TTHits : %u   HitRate : %f%%\0A\00"         ; <[60 x sbyte]*> [#uses=0]
81 %NTries = internal global uint 0                ; <uint*> [#uses=1]
82 %NCuts = internal global uint 0         ; <uint*> [#uses=1]
83 %TExt = internal global uint 0          ; <uint*> [#uses=1]
84 %str = internal global [51 x sbyte] c"NTries : %u  NCuts : %u  CutRate : %f%%  TExt: %u\0A\00"          ; <[51 x sbyte]*> [#uses=0]
85 %ext_check = internal global uint 0             ; <uint*> [#uses=1]
86 %razor_drop = internal global uint 0            ; <uint*> [#uses=1]
87 %razor_material = internal global uint 0                ; <uint*> [#uses=1]
88 %str = internal global [61 x sbyte] c"Check extensions: %u  Razor drops : %u  Razor Material : %u\0A\00"                ; <[61 x sbyte]*> [#uses=0]
89 %FHF = internal global uint 0           ; <uint*> [#uses=1]
90 %FH = internal global uint 0            ; <uint*> [#uses=1]
91 %str = internal global [22 x sbyte] c"Move ordering : %f%%\0A\00"               ; <[22 x sbyte]*> [#uses=0]
92 %maxposdiff = internal global int 0             ; <int*> [#uses=1]
93 %str = internal global [47 x sbyte] c"Material score: %d  Eval : %d  MaxPosDiff: %d\0A\00"              ; <[47 x sbyte]*> [#uses=0]
94 %str = internal global [17 x sbyte] c"Solution found.\0A\00"            ; <[17 x sbyte]*> [#uses=0]
95 %str3 = internal global [21 x sbyte] c"Solution not found.\0A\00"               ; <[21 x sbyte]*> [#uses=0]
96 %str = internal global [15 x sbyte] c"Solved: %d/%d\0A\00"              ; <[15 x sbyte]*> [#uses=0]
97 %str = internal global [9 x sbyte] c"EPD: %s\0A\00"             ; <[9 x sbyte]*> [#uses=0]
98 %str4 = internal global [21 x sbyte] c"Searching to %d ply\0A\00"               ; <[21 x sbyte]*> [#uses=0]
99 %maxdepth = internal global int 0               ; <int*> [#uses=0]
100 %std_material = internal global [14 x int] [ int 0, int 100, int -100, int 310, int -310, int 4000, int -4000, int 500, int -500, int 900, int -900, int 325, int -325, int 0 ]         ; <[14 x int]*> [#uses=0]
101 %zh_material = internal global [14 x int] [ int 0, int 100, int -100, int 210, int -210, int 4000, int -4000, int 250, int -250, int 450, int -450, int 230, int -230, int 0 ]          ; <[14 x int]*> [#uses=0]
102 %suicide_material = internal global [14 x int] [ int 0, int 15, int -15, int 150, int -150, int 500, int -500, int 150, int -150, int 50, int -50, int 0, int 0, int 0 ]                ; <[14 x int]*> [#uses=0]
103 %losers_material = internal global [14 x int] [ int 0, int 80, int -80, int 320, int -320, int 1000, int -1000, int 350, int -350, int 400, int -400, int 270, int -270, int 0 ]                ; <[14 x int]*> [#uses=0]
104 %Xfile = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]         ; <[144 x int]*> [#uses=0]
105 %Xrank = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 1, int 1, int 1, int 1, int 1, int 1, int 1, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 4, int 4, int 4, int 4, int 4, int 4, int 4, int 4, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 5, int 5, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 6, int 6, int 6, int 6, int 6, int 6, int 6, int 6, int 0, int 0, int 0, int 0, int 7, int 7, int 7, int 7, int 7, int 7, int 7, int 7, int 0, int 0, int 0, int 0, int 8, int 8, int 8, int 8, int 8, int 8, int 8, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]         ; <[144 x int]*> [#uses=0]
106 %Xdiagl = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 0, int 0, int 0, int 0, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 0, int 0, int 0, int 0, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 0, int 0, int 0, int 0, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 0, int 0, int 0, int 0, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 0, int 0, int 0, int 0, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 0, int 0, int 0, int 0, int 15, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]           ; <[144 x int]*> [#uses=0]
107 %Xdiagr = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 15, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 0, int 0, int 0, int 0, int 14, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 0, int 0, int 0, int 0, int 13, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 0, int 0, int 0, int 0, int 12, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 0, int 0, int 0, int 0, int 11, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 0, int 0, int 0, int 0, int 10, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 0, int 0, int 0, int 0, int 9, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 4, int 5, int 6, int 7, int 8, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]           ; <[144 x int]*> [#uses=0]
108 %sqcolor = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]               ; <[144 x int]*> [#uses=0]
109 %pcsqbishop = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -5, int -5, int -10, int -5, int -5, int -10, int -5, int -5, int 0, int 0, int 0, int 0, int -5, int 10, int 5, int 10, int 10, int 5, int 10, int -5, int 0, int 0, int 0, int 0, int -5, int 5, int 6, int 15, int 15, int 6, int 5, int -5, int 0, int 0, int 0, int 0, int -5, int 3, int 15, int 10, int 10, int 15, int 3, int -5, int 0, int 0, int 0, int 0, int -5, int 3, int 15, int 10, int 10, int 15, int 3, int -5, int 0, int 0, int 0, int 0, int -5, int 5, int 6, int 15, int 15, int 6, int 5, int -5, int 0, int 0, int 0, int 0, int -5, int 10, int 5, int 10, int 10, int 5, int 10, int -5, int 0, int 0, int 0, int 0, int -5, int -5, int -10, int -5, int -5, int -10, int -5, int -5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]                ; <[144 x int]*> [#uses=0]
110 %black_knight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 25, int 25, int 25, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 35, int 35, int 35, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 10, int 25, int 20, int 25, int 25, int 10, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 20, int 20, int 20, int 20, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 15, int 15, int 15, int 15, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -35, int -10, int -10, int -10, int -10, int -35, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]                ; <[144 x int]*> [#uses=0]
111 %white_knight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -35, int -10, int -10, int -10, int -10, int -35, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 15, int 15, int 15, int 15, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 20, int 20, int 20, int 20, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 10, int 25, int 20, int 25, int 25, int 10, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 35, int 35, int 35, int 15, int -10, int 0, int 0, int 0, int 0, int -10, int 15, int 25, int 25, int 25, int 25, int 15, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]                ; <[144 x int]*> [#uses=0]
112 %white_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 25, int 25, int 35, int 5, int 5, int 50, int 45, int 30, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 7, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 14, int 14, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 20, int 20, int 10, int 5, int 5, int 0, int 0, int 0, int 0, int 12, int 18, int 18, int 27, int 27, int 18, int 18, int 18, int 0, int 0, int 0, int 0, int 25, int 30, int 30, int 35, int 35, int 35, int 30, int 25, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]                ; <[144 x int]*> [#uses=0]
113 %black_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 30, int 30, int 30, int 35, int 35, int 35, int 30, int 25, int 0, int 0, int 0, int 0, int 12, int 18, int 18, int 27, int 27, int 18, int 18, int 18, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 20, int 20, int 10, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 14, int 14, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 7, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 25, int 25, int 35, int 5, int 5, int 50, int 45, int 30, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]                ; <[144 x int]*> [#uses=0]
114 %white_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -100, int 7, int 4, int 0, int 10, int 4, int 7, int -100, int 0, int 0, int 0, int 0, int -250, int -200, int -150, int -100, int -100, int -150, int -200, int -250, int 0, int 0, int 0, int 0, int -350, int -300, int -300, int -250, int -250, int -300, int -300, int -350, int 0, int 0, int 0, int 0, int -400, int -400, int -400, int -350, int -350, int -400, int -400, int -400, int 0, int 0, int 0, int 0, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
115 %black_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int -500, int 0, int 0, int 0, int 0, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int -450, int 0, int 0, int 0, int 0, int -400, int -400, int -400, int -350, int -350, int -400, int -400, int -400, int 0, int 0, int 0, int 0, int -350, int -300, int -300, int -250, int -250, int -300, int -300, int -350, int 0, int 0, int 0, int 0, int -250, int -200, int -150, int -100, int -100, int -150, int -200, int -250, int 0, int 0, int 0, int 0, int -100, int 7, int 4, int 0, int 10, int 4, int 7, int -100, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
116 %black_queen = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 10, int 10, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 0, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int 0, int 0, int 0, int 0, int -60, int -40, int -40, int -60, int -60, int -40, int -40, int -60, int 0, int 0, int 0, int 0, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]                ; <[144 x int]*> [#uses=0]
117 %white_queen = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int -40, int 0, int 0, int 0, int 0, int -60, int -40, int -40, int -60, int -60, int -40, int -40, int -60, int 0, int 0, int 0, int 0, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int -30, int 0, int 0, int 0, int 0, int 0, int 0, int 3, int 3, int 3, int 3, int 3, int 0, int 0, int 0, int 0, int 0, int 5, int 5, int 5, int 10, int 10, int 5, int 5, int 5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]                ; <[144 x int]*> [#uses=0]
118 %black_rook = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 25, int 25, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -30, int -30, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
119 %white_rook = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 7, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -15, int -15, int -15, int -10, int -10, int -15, int -15, int -15, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -30, int -30, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int -20, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 10, int 15, int 20, int 25, int 25, int 20, int 15, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
120 %upscale = internal global [64 x int] [ int 26, int 27, int 28, int 29, int 30, int 31, int 32, int 33, int 38, int 39, int 40, int 41, int 42, int 43, int 44, int 45, int 50, int 51, int 52, int 53, int 54, int 55, int 56, int 57, int 62, int 63, int 64, int 65, int 66, int 67, int 68, int 69, int 74, int 75, int 76, int 77, int 78, int 79, int 80, int 81, int 86, int 87, int 88, int 89, int 90, int 91, int 92, int 93, int 98, int 99, int 100, int 101, int 102, int 103, int 104, int 105, int 110, int 111, int 112, int 113, int 114, int 115, int 116, int 117 ]          ; <[64 x int]*> [#uses=0]
121 %pre_p_tropism = internal global [9 x int] [ int 9999, int 40, int 20, int 10, int 3, int 1, int 1, int 0, int 9999 ]           ; <[9 x int]*> [#uses=0]
122 %pre_r_tropism = internal global [9 x int] [ int 9999, int 50, int 40, int 15, int 5, int 1, int 1, int 0, int 9999 ]           ; <[9 x int]*> [#uses=0]
123 %pre_n_tropism = internal global [9 x int] [ int 9999, int 50, int 70, int 35, int 10, int 2, int 1, int 0, int 9999 ]          ; <[9 x int]*> [#uses=0]
124 %pre_q_tropism = internal global [9 x int] [ int 9999, int 100, int 60, int 20, int 5, int 2, int 0, int 0, int 9999 ]          ; <[9 x int]*> [#uses=0]
125 %pre_b_tropism = internal global [9 x int] [ int 9999, int 50, int 25, int 15, int 5, int 2, int 2, int 2, int 9999 ]           ; <[9 x int]*> [#uses=0]
126 %rookdistance = internal global [144 x [144 x int]] zeroinitializer             ; <[144 x [144 x int]]*> [#uses=0]
127 %distance = internal global [144 x [144 x int]] zeroinitializer         ; <[144 x [144 x int]]*> [#uses=0]
128 %p_tropism = internal global [144 x [144 x ubyte]] zeroinitializer              ; <[144 x [144 x ubyte]]*> [#uses=0]
129 %b_tropism = internal global [144 x [144 x ubyte]] zeroinitializer              ; <[144 x [144 x ubyte]]*> [#uses=0]
130 %n_tropism = internal global [144 x [144 x ubyte]] zeroinitializer              ; <[144 x [144 x ubyte]]*> [#uses=0]
131 %r_tropism = internal global [144 x [144 x ubyte]] zeroinitializer              ; <[144 x [144 x ubyte]]*> [#uses=0]
132 %q_tropism = internal global [144 x [144 x ubyte]] zeroinitializer              ; <[144 x [144 x ubyte]]*> [#uses=0]
133 %cfg_devscale.b = internal global bool false            ; <bool*> [#uses=0]
134 %pieces = internal global [62 x int] zeroinitializer            ; <[62 x int]*> [#uses=0]
135 %piece_count = internal global int 0            ; <int*> [#uses=1]
136 %cfg_smarteval.b = internal global bool false           ; <bool*> [#uses=0]
137 %lcentral = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -15, int -15, int -15, int -15, int -15, int -15, int -20, int 0, int 0, int 0, int 0, int -15, int 0, int 3, int 5, int 5, int 3, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 15, int 15, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 30, int 30, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 30, int 30, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 15, int 15, int 15, int 15, int 0, int -15, int 0, int 0, int 0, int 0, int -15, int 0, int 3, int 5, int 5, int 3, int 0, int -15, int 0, int 0, int 0, int 0, int -20, int -15, int -15, int -15, int -15, int -15, int -15, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]              ; <[144 x int]*> [#uses=0]
138 %str3 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/leval.c\00"             ; <[81 x sbyte]*> [#uses=0]
139 %str5 = internal global [21 x sbyte] c"(i > 0) && (i < 145)\00"         ; <[21 x sbyte]*> [#uses=0]
140 %kingcap.b = internal global bool false         ; <bool*> [#uses=0]
141 %numb_moves = internal global int 0             ; <int*> [#uses=2]
142 %genfor = internal global %struct.move_s* null          ; <%struct.move_s**> [#uses=0]
143 %captures = internal global uint 0              ; <uint*> [#uses=1]
144 %fcaptures.b = internal global bool false               ; <bool*> [#uses=0]
145 %gfrom = internal global int 0          ; <int*> [#uses=0]
146 %Giveaway.b = internal global bool false                ; <bool*> [#uses=0]
147 %path_x = internal global [300 x %struct.move_x] zeroinitializer                ; <[300 x %struct.move_x]*> [#uses=0]
148 %str7 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/moves.c\00"             ; <[81 x sbyte]*> [#uses=0]
149 %str8 = internal global [15 x sbyte] c"find_slot < 63\00"               ; <[15 x sbyte]*> [#uses=0]
150 %is_promoted = internal global [62 x int] zeroinitializer               ; <[62 x int]*> [#uses=0]
151 %squares = internal global [144 x int] zeroinitializer          ; <[144 x int]*> [#uses=0]
152 %str = internal global [38 x sbyte] c"promoted > frame && promoted < npiece\00"         ; <[38 x sbyte]*> [#uses=0]
153 %str1 = internal global [38 x sbyte] c"promoted < npiece && promoted > frame\00"                ; <[38 x sbyte]*> [#uses=0]
154 %evalRoutines = internal global [7 x int (int, int)*] [ int (int, int)* %ErrorIt, int (int, int)* %Pawn, int (int, int)* %Knight, int (int, int)* %King, int (int, int)* %Rook, int (int, int)* %Queen, int (int, int)* %Bishop ]               ; <[7 x int (int, int)*]*> [#uses=0]
155 %sbishop = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int 0, int 0, int 0, int 0, int -2, int 8, int 5, int 5, int 5, int 5, int 8, int -2, int 0, int 0, int 0, int 0, int -2, int 3, int 3, int 5, int 5, int 3, int 3, int -2, int 0, int 0, int 0, int 0, int -2, int 2, int 5, int 4, int 4, int 5, int 2, int -2, int 0, int 0, int 0, int 0, int -2, int 2, int 5, int 4, int 4, int 5, int 2, int -2, int 0, int 0, int 0, int 0, int -2, int 3, int 3, int 5, int 5, int 3, int 3, int -2, int 0, int 0, int 0, int 0, int -2, int 8, int 5, int 5, int 5, int 5, int 8, int -2, int 0, int 0, int 0, int 0, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int -2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]           ; <[144 x int]*> [#uses=0]
156 %sknight = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 5, int 5, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 10, int 10, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 10, int 10, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 5, int 5, int 5, int 5, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 0, int 3, int 3, int 0, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]           ; <[144 x int]*> [#uses=0]
157 %swhite_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 10, int 10, int 3, int 2, int 1, int 0, int 0, int 0, int 0, int 2, int 4, int 6, int 12, int 12, int 6, int 4, int 2, int 0, int 0, int 0, int 0, int 3, int 6, int 9, int 14, int 14, int 9, int 6, int 3, int 0, int 0, int 0, int 0, int 10, int 12, int 14, int 16, int 16, int 14, int 12, int 10, int 0, int 0, int 0, int 0, int 20, int 22, int 24, int 26, int 26, int 24, int 22, int 20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
158 %sblack_pawn = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 20, int 22, int 24, int 26, int 26, int 24, int 22, int 20, int 0, int 0, int 0, int 0, int 10, int 12, int 14, int 16, int 16, int 14, int 12, int 10, int 0, int 0, int 0, int 0, int 3, int 6, int 9, int 14, int 14, int 9, int 6, int 3, int 0, int 0, int 0, int 0, int 2, int 4, int 6, int 12, int 12, int 6, int 4, int 2, int 0, int 0, int 0, int 0, int 1, int 2, int 3, int 10, int 10, int 3, int 2, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
159 %swhite_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 2, int 14, int 0, int 0, int 0, int 9, int 14, int 2, int 0, int 0, int 0, int 0, int -3, int -5, int -6, int -6, int -6, int -6, int -5, int -3, int 0, int 0, int 0, int 0, int -5, int -5, int -8, int -8, int -8, int -8, int -5, int -5, int 0, int 0, int 0, int 0, int -8, int -8, int -13, int -13, int -13, int -13, int -8, int -8, int 0, int 0, int 0, int 0, int -13, int -13, int -21, int -21, int -21, int -21, int -13, int -13, int 0, int 0, int 0, int 0, int -21, int -21, int -34, int -34, int -34, int -34, int -21, int -21, int 0, int 0, int 0, int 0, int -34, int -34, int -55, int -55, int -55, int -55, int -34, int -34, int 0, int 0, int 0, int 0, int -55, int -55, int -89, int -89, int -89, int -89, int -55, int -55, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
160 %sblack_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -55, int -55, int -89, int -89, int -89, int -89, int -55, int -55, int 0, int 0, int 0, int 0, int -34, int -34, int -55, int -55, int -55, int -55, int -34, int -34, int 0, int 0, int 0, int 0, int -21, int -21, int -34, int -34, int -34, int -34, int -21, int -21, int 0, int 0, int 0, int 0, int -13, int -13, int -21, int -21, int -21, int -21, int -13, int -13, int 0, int 0, int 0, int 0, int -8, int -8, int -13, int -13, int -13, int -13, int -8, int -8, int 0, int 0, int 0, int 0, int -5, int -5, int -8, int -8, int -8, int -8, int -5, int -5, int 0, int 0, int 0, int 0, int -3, int -5, int -6, int -6, int -6, int -6, int -5, int -3, int 0, int 0, int 0, int 0, int 2, int 14, int 0, int 0, int 0, int 9, int 14, int 2, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
161 %send_king = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -5, int -3, int -1, int 0, int 0, int -1, int -3, int -5, int 0, int 0, int 0, int 0, int -3, int 10, int 10, int 10, int 10, int 10, int 10, int -3, int 0, int 0, int 0, int 0, int -1, int 10, int 25, int 25, int 25, int 25, int 10, int -1, int 0, int 0, int 0, int 0, int 0, int 10, int 25, int 50, int 50, int 25, int 10, int 0, int 0, int 0, int 0, int 0, int 0, int 10, int 25, int 50, int 50, int 25, int 10, int 0, int 0, int 0, int 0, int 0, int -1, int 10, int 25, int 25, int 25, int 25, int 10, int -1, int 0, int 0, int 0, int 0, int -3, int 10, int 10, int 10, int 10, int 10, int 10, int -3, int 0, int 0, int 0, int 0, int -5, int -3, int -1, int 0, int 0, int -1, int -3, int -5, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]             ; <[144 x int]*> [#uses=0]
162 %srev_rank = internal global [9 x int] [ int 0, int 8, int 7, int 6, int 5, int 4, int 3, int 2, int 1 ]                ; <[9 x int]*> [#uses=0]
163 %std_p_tropism = internal global [8 x int] [ int 9999, int 15, int 10, int 7, int 2, int 0, int 0, int 0 ]              ; <[8 x int]*> [#uses=0]
164 %std_own_p_tropism = internal global [8 x int] [ int 9999, int 30, int 10, int 2, int 0, int 0, int 0, int 0 ]          ; <[8 x int]*> [#uses=0]
165 %std_r_tropism = internal global [16 x int] [ int 9999, int 0, int 15, int 5, int 2, int 1, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]              ; <[16 x int]*> [#uses=0]
166 %std_n_tropism = internal global [8 x int] [ int 9999, int 14, int 9, int 6, int 1, int 0, int 0, int 0 ]               ; <[8 x int]*> [#uses=0]
167 %std_q_tropism = internal global [8 x int] [ int 9999, int 200, int 50, int 15, int 3, int 2, int 1, int 0 ]            ; <[8 x int]*> [#uses=0]
168 %std_b_tropism = internal global [8 x int] [ int 9999, int 12, int 7, int 5, int 0, int 0, int 0, int 0 ]               ; <[8 x int]*> [#uses=0]
169 %phase = internal global int 0          ; <int*> [#uses=1]
170 %dir.3001 = internal global [4 x int] [ int -13, int -11, int 11, int 13 ]              ; <[4 x int]*> [#uses=0]
171 %dir.3021 = internal global [4 x int] [ int -1, int 1, int 12, int -12 ]                ; <[4 x int]*> [#uses=0]
172 %king_locs = internal global [2 x int] zeroinitializer          ; <[2 x int]*> [#uses=0]
173 %square_d1.3081 = internal global [2 x int] [ int 29, int 113 ]         ; <[2 x int]*> [#uses=0]
174 %wmat = internal global int 0           ; <int*> [#uses=0]
175 %bmat = internal global int 0           ; <int*> [#uses=0]
176 %str = internal global [35 x sbyte] c"Illegal piece detected sq=%i c=%i\0A\00"          ; <[35 x sbyte]*> [#uses=0]
177 %str10 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/neval.c\00"            ; <[81 x sbyte]*> [#uses=0]
178 %std_hand_value = internal global [13 x int] [ int 0, int 100, int -100, int 210, int -210, int 0, int 0, int 250, int -250, int 450, int -450, int 230, int -230 ]             ; <[13 x int]*> [#uses=0]
179 %xb_mode = internal global int 0                ; <int*> [#uses=0]
180 %str = internal global [69 x sbyte] c"tellics ptell Hello! I am Sjeng and hope you enjoy playing with me.\0A\00"                ; <[69 x sbyte]*> [#uses=0]
181 %str = internal global [76 x sbyte] c"tellics ptell For help on some commands that I understand, ptell me 'help'\0A\00"         ; <[76 x sbyte]*> [#uses=0]
182 %str12 = internal global [3 x sbyte] c"%s\00"           ; <[3 x sbyte]*> [#uses=0]
183 %my_partner = internal global [256 x sbyte] zeroinitializer             ; <[256 x sbyte]*> [#uses=0]
184 %str13 = internal global [25 x sbyte] c"tellics set f5 bughouse\0A\00"          ; <[25 x sbyte]*> [#uses=0]
185 %str = internal global [16 x sbyte] c"tellics unseek\0A\00"             ; <[16 x sbyte]*> [#uses=0]
186 %str = internal global [20 x sbyte] c"tellics set f5 1=1\0A\00"         ; <[20 x sbyte]*> [#uses=0]
187 %str = internal global [80 x sbyte] c"is...uh...what did you say?\0A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00"               ; <[80 x sbyte]*> [#uses=0]
188 %str = internal global [5 x sbyte] c"help\00"           ; <[5 x sbyte]*> [#uses=0]
189 %str = internal global [147 x sbyte] c"tellics ptell Commands that I understand are : sit, go, fast, slow, abort, flag, +/++/+++/-/--/---{p,n,b,r,q,d,h,trades}, x, dead, formula, help.\0A\00"         ; <[147 x sbyte]*> [#uses=0]
190 %str = internal global [6 x sbyte] c"sorry\00"          ; <[6 x sbyte]*> [#uses=0]
191 %str = internal global [59 x sbyte] c"tellics ptell Sorry, but I'm not playing a bughouse game.\0A\00"          ; <[59 x sbyte]*> [#uses=0]
192 %str = internal global [4 x sbyte] c"sit\00"            ; <[4 x sbyte]*> [#uses=0]
193 %str = internal global [56 x sbyte] c"tellics ptell Ok, I sit next move. Tell me when to go.\0A\00"             ; <[56 x sbyte]*> [#uses=0]
194 %must_sit.b = internal global bool false                ; <bool*> [#uses=0]
195 %str114 = internal global [3 x sbyte] c"go\00"          ; <[3 x sbyte]*> [#uses=0]
196 %str2 = internal global [5 x sbyte] c"move\00"          ; <[5 x sbyte]*> [#uses=0]
197 %str = internal global [31 x sbyte] c"tellics ptell Ok, I'm moving.\0A\00"              ; <[31 x sbyte]*> [#uses=0]
198 %str3 = internal global [5 x sbyte] c"fast\00"          ; <[5 x sbyte]*> [#uses=0]
199 %str4 = internal global [5 x sbyte] c"time\00"          ; <[5 x sbyte]*> [#uses=0]
200 %str15 = internal global [35 x sbyte] c"tellics ptell Ok, I'm going FAST!\0A\00"                ; <[35 x sbyte]*> [#uses=0]
201 %go_fast.b = internal global bool false         ; <bool*> [#uses=0]
202 %str5 = internal global [5 x sbyte] c"slow\00"          ; <[5 x sbyte]*> [#uses=0]
203 %str16 = internal global [36 x sbyte] c"tellics ptell Ok, moving normally.\0A\00"               ; <[36 x sbyte]*> [#uses=0]
204 %str6 = internal global [6 x sbyte] c"abort\00"         ; <[6 x sbyte]*> [#uses=0]
205 %str7 = internal global [35 x sbyte] c"tellics ptell Requesting abort...\0A\00"         ; <[35 x sbyte]*> [#uses=0]
206 %str17 = internal global [15 x sbyte] c"tellics abort\0A\00"            ; <[15 x sbyte]*> [#uses=0]
207 %str8 = internal global [5 x sbyte] c"flag\00"          ; <[5 x sbyte]*> [#uses=0]
208 %str = internal global [27 x sbyte] c"tellics ptell Flagging...\0A\00"          ; <[27 x sbyte]*> [#uses=0]
209 %str = internal global [14 x sbyte] c"tellics flag\0A\00"               ; <[14 x sbyte]*> [#uses=0]
210 %str18 = internal global [2 x sbyte] c"+\00"            ; <[2 x sbyte]*> [#uses=0]
211 %str9 = internal global [6 x sbyte] c"trade\00"         ; <[6 x sbyte]*> [#uses=0]
212 %str10 = internal global [35 x sbyte] c"tellics ptell Ok, trading is GOOD\0A\00"                ; <[35 x sbyte]*> [#uses=0]
213 %str11 = internal global [4 x sbyte] c"+++\00"          ; <[4 x sbyte]*> [#uses=0]
214 %str12 = internal global [6 x sbyte] c"mates\00"                ; <[6 x sbyte]*> [#uses=0]
215 %str13 = internal global [3 x sbyte] c"++\00"           ; <[3 x sbyte]*> [#uses=0]
216 %str = internal global [49 x sbyte] c"is VERY good (ptell me 'x' to play normal again)\00"              ; <[49 x sbyte]*> [#uses=0]
217 %str = internal global [44 x sbyte] c"is good (ptell me 'x' to play normal again)\00"           ; <[44 x sbyte]*> [#uses=0]
218 %str19 = internal global [29 x sbyte] c"tellics ptell Ok, Knight %s\0A\00"              ; <[29 x sbyte]*> [#uses=0]
219 %str14 = internal global [29 x sbyte] c"tellics ptell Ok, Bishop %s\0A\00"              ; <[29 x sbyte]*> [#uses=0]
220 %str15 = internal global [27 x sbyte] c"tellics ptell Ok, Rook %s\0A\00"                ; <[27 x sbyte]*> [#uses=0]
221 %str = internal global [28 x sbyte] c"tellics ptell Ok, Queen %s\0A\00"         ; <[28 x sbyte]*> [#uses=0]
222 %str16 = internal global [27 x sbyte] c"tellics ptell Ok, Pawn %s\0A\00"                ; <[27 x sbyte]*> [#uses=0]
223 %str17 = internal global [31 x sbyte] c"tellics ptell Ok, Diagonal %s\0A\00"            ; <[31 x sbyte]*> [#uses=0]
224 %str18 = internal global [28 x sbyte] c"tellics ptell Ok, Heavy %s\0A\00"               ; <[28 x sbyte]*> [#uses=0]
225 %str20 = internal global [34 x sbyte] c"tellics ptell Ok, trading is BAD\0A\00"         ; <[34 x sbyte]*> [#uses=0]
226 %str20 = internal global [4 x sbyte] c"---\00"          ; <[4 x sbyte]*> [#uses=0]
227 %str = internal global [53 x sbyte] c"mates you (ptell me 'x' when it no longer mates you)\00"          ; <[53 x sbyte]*> [#uses=0]
228 %str21 = internal global [3 x sbyte] c"--\00"           ; <[3 x sbyte]*> [#uses=0]
229 %str = internal global [52 x sbyte] c"is VERY bad (ptell me 'x' when it is no longer bad)\00"           ; <[52 x sbyte]*> [#uses=0]
230 %str21 = internal global [47 x sbyte] c"is bad (ptell me 'x' when it is no longer bad)\00"              ; <[47 x sbyte]*> [#uses=0]
231 %str23 = internal global [16 x sbyte] c"mate me anymore\00"             ; <[16 x sbyte]*> [#uses=0]
232 %str24 = internal global [6 x sbyte] c"never\00"                ; <[6 x sbyte]*> [#uses=0]
233 %str25 = internal global [5 x sbyte] c"mind\00"         ; <[5 x sbyte]*> [#uses=0]
234 %str22 = internal global [9 x sbyte] c"ptell me\00"             ; <[9 x sbyte]*> [#uses=0]
235 %str = internal global [55 x sbyte] c"tellics ptell Ok, reverting to STANDARD piece values!\0A\00"              ; <[55 x sbyte]*> [#uses=0]
236 %partnerdead.b = internal global bool false             ; <bool*> [#uses=0]
237 %piecedead.b = internal global bool false               ; <bool*> [#uses=0]
238 %str = internal global [26 x sbyte] c"i'll have to sit...(dead)\00"             ; <[26 x sbyte]*> [#uses=0]
239 %str27 = internal global [5 x sbyte] c"dead\00"         ; <[5 x sbyte]*> [#uses=0]
240 %str28 = internal global [27 x sbyte] c"i'll have to sit...(piece)\00"          ; <[27 x sbyte]*> [#uses=0]
241 %str29 = internal global [3 x sbyte] c"ok\00"           ; <[3 x sbyte]*> [#uses=0]
242 %str30 = internal global [3 x sbyte] c"hi\00"           ; <[3 x sbyte]*> [#uses=0]
243 %str31 = internal global [6 x sbyte] c"hello\00"                ; <[6 x sbyte]*> [#uses=0]
244 %str32 = internal global [26 x sbyte] c"tellics ptell Greetings.\0A\00"         ; <[26 x sbyte]*> [#uses=0]
245 %str = internal global [8 x sbyte] c"formula\00"                ; <[8 x sbyte]*> [#uses=0]
246 %str = internal global [87 x sbyte] c"tellics ptell Setting formula, if you are still interrupted, complain to my operator.\0A\00"              ; <[87 x sbyte]*> [#uses=0]
247 %str33 = internal global [59 x sbyte] c"tellics ptell Sorry, but I don't understand that command.\0A\00"                ; <[59 x sbyte]*> [#uses=0]
248 %pawnmated.3298 = internal global int 0         ; <int*> [#uses=0]
249 %knightmated.3299 = internal global int 0               ; <int*> [#uses=0]
250 %bishopmated.3300 = internal global int 0               ; <int*> [#uses=0]
251 %rookmated.3301 = internal global int 0         ; <int*> [#uses=0]
252 %queenmated.3302 = internal global int 0                ; <int*> [#uses=0]
253 %str = internal global [41 x sbyte] c"tellics ptell p doesn't mate me anymore\0A\00"            ; <[41 x sbyte]*> [#uses=0]
254 %str34 = internal global [41 x sbyte] c"tellics ptell n doesn't mate me anymore\0A\00"          ; <[41 x sbyte]*> [#uses=0]
255 %str35 = internal global [41 x sbyte] c"tellics ptell b doesn't mate me anymore\0A\00"          ; <[41 x sbyte]*> [#uses=0]
256 %str36 = internal global [41 x sbyte] c"tellics ptell r doesn't mate me anymore\0A\00"          ; <[41 x sbyte]*> [#uses=0]
257 %str37 = internal global [41 x sbyte] c"tellics ptell q doesn't mate me anymore\0A\00"          ; <[41 x sbyte]*> [#uses=0]
258 %str38 = internal global [20 x sbyte] c"tellics ptell ---p\0A\00"               ; <[20 x sbyte]*> [#uses=0]
259 %str39 = internal global [20 x sbyte] c"tellics ptell ---n\0A\00"               ; <[20 x sbyte]*> [#uses=0]
260 %str40 = internal global [20 x sbyte] c"tellics ptell ---b\0A\00"               ; <[20 x sbyte]*> [#uses=0]
261 %str41 = internal global [20 x sbyte] c"tellics ptell ---r\0A\00"               ; <[20 x sbyte]*> [#uses=0]
262 %str42 = internal global [20 x sbyte] c"tellics ptell ---q\0A\00"               ; <[20 x sbyte]*> [#uses=0]
263 %str23 = internal global [17 x sbyte] c"tellics ptell x\0A\00"          ; <[17 x sbyte]*> [#uses=0]
264 %str = internal global [18 x sbyte] c"tellics ptell go\0A\00"           ; <[18 x sbyte]*> [#uses=0]
265 %bufftop = internal global int 0                ; <int*> [#uses=2]
266 %membuff = internal global ubyte* null          ; <ubyte**> [#uses=3]
267 %maxply = internal global int 0         ; <int*> [#uses=1]
268 %forwards = internal global int 0               ; <int*> [#uses=1]
269 %nodecount = internal global int 0              ; <int*> [#uses=1]
270 %frees = internal global int 0          ; <int*> [#uses=0]
271 %PBSize.b = internal global bool false          ; <bool*> [#uses=1]
272 %alllosers.b = internal global bool false               ; <bool*> [#uses=1]
273 %rootlosers = internal global [300 x int] zeroinitializer               ; <[300 x int]*> [#uses=1]
274 %pn_move = internal global %struct.move_s zeroinitializer               ; <%struct.move_s*> [#uses=7]
275 %iters = internal global int 0          ; <int*> [#uses=1]
276 %kibitzed.b = internal global bool false                ; <bool*> [#uses=0]
277 %str24 = internal global [28 x sbyte] c"tellics kibitz Forced win!\0A\00"               ; <[28 x sbyte]*> [#uses=0]
278 %str25 = internal global [34 x sbyte] c"tellics kibitz Forced win! (alt)\0A\00"         ; <[34 x sbyte]*> [#uses=0]
279 %pn_time = internal global int 0                ; <int*> [#uses=1]
280 %post = internal global uint 0          ; <uint*> [#uses=0]
281 %str = internal global [94 x sbyte] c"tellics whisper proof %d, disproof %d, %d losers, highest depth %d, primary %d, secondary %d\0A\00"               ; <[94 x sbyte]*> [#uses=0]
282 %str26 = internal global [30 x sbyte] c"tellics whisper Forced reply\0A\00"             ; <[30 x sbyte]*> [#uses=0]
283 %str27 = internal global [60 x sbyte] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d MaxDepth: %d\0A\00"               ; <[60 x sbyte]*> [#uses=0]
284 %str = internal global [90 x sbyte] c"tellics whisper proof %d, disproof %d, %d nodes, %d forwards, %d iters, highest depth %d\0A\00"           ; <[90 x sbyte]*> [#uses=0]
285 %str = internal global [11 x sbyte] c"Time : %f\0A\00"          ; <[11 x sbyte]*> [#uses=0]
286 %str28 = internal global [23 x sbyte] c"This position is WON.\0A\00"            ; <[23 x sbyte]*> [#uses=0]
287 %str29 = internal global [5 x sbyte] c"PV: \00"         ; <[5 x sbyte]*> [#uses=0]
288 %str30 = internal global [4 x sbyte] c"%s \00"          ; <[4 x sbyte]*> [#uses=0]
289 %str31 = internal global [2 x sbyte] c" \00"            ; <[2 x sbyte]*> [#uses=0]
290 %str32 = internal global [41 x sbyte] c"\0Atellics kibitz Forced win in %d moves.\0A\00"                ; <[41 x sbyte]*> [#uses=0]
291 %str33 = internal global [20 x sbyte] c"\0A1-0 {White mates}\0A\00"             ; <[20 x sbyte]*> [#uses=0]
292 %result = internal global int 0         ; <int*> [#uses=4]
293 %str1 = internal global [20 x sbyte] c"\0A0-1 {Black mates}\0A\00"              ; <[20 x sbyte]*> [#uses=0]
294 %str35 = internal global [24 x sbyte] c"This position is LOST.\0A\00"           ; <[24 x sbyte]*> [#uses=0]
295 %str36 = internal global [27 x sbyte] c"This position is UNKNOWN.\0A\00"                ; <[27 x sbyte]*> [#uses=0]
296 %str37 = internal global [47 x sbyte] c"P: %d D: %d N: %d S: %d Mem: %2.2fM Iters: %d\0A\00"            ; <[47 x sbyte]*> [#uses=0]
297 %s_threat.b = internal global bool false                ; <bool*> [#uses=0]
298 %TTSize.b = internal global bool false          ; <bool*> [#uses=3]
299 %cfg_razordrop.b = internal global bool false           ; <bool*> [#uses=0]
300 %cfg_futprune.b = internal global bool false            ; <bool*> [#uses=0]
301 %cfg_onerep.b = internal global bool false              ; <bool*> [#uses=0]
302 %setcode = internal global [30 x sbyte] zeroinitializer         ; <[30 x sbyte]*> [#uses=0]
303 %str38 = internal global [3 x sbyte] c"%u\00"           ; <[3 x sbyte]*> [#uses=0]
304 %searching_pv.b = internal global bool false            ; <bool*> [#uses=0]
305 %pv = internal global [300 x [300 x %struct.move_s]] zeroinitializer            ; <[300 x [300 x %struct.move_s]]*> [#uses=0]
306 %i_depth = internal global int 0                ; <int*> [#uses=0]
307 %history_h = internal global [144 x [144 x uint]] zeroinitializer               ; <[144 x [144 x uint]]*> [#uses=0]
308 %killer1 = internal global [300 x %struct.move_s] zeroinitializer               ; <[300 x %struct.move_s]*> [#uses=0]
309 %killer2 = internal global [300 x %struct.move_s] zeroinitializer               ; <[300 x %struct.move_s]*> [#uses=0]
310 %killer3 = internal global [300 x %struct.move_s] zeroinitializer               ; <[300 x %struct.move_s]*> [#uses=0]
311 %rootnodecount = internal global [512 x uint] zeroinitializer           ; <[512 x uint]*> [#uses=0]
312 %raw_nodes = internal global int 0              ; <int*> [#uses=0]
313 %pv_length = internal global [300 x int] zeroinitializer                ; <[300 x int]*> [#uses=0]
314 %time_exit.b = internal global bool false               ; <bool*> [#uses=0]
315 %time_for_move = internal global int 0          ; <int*> [#uses=3]
316 %failed = internal global int 0         ; <int*> [#uses=0]
317 %extendedtime.b = internal global bool false            ; <bool*> [#uses=1]
318 %time_left = internal global int 0              ; <int*> [#uses=0]
319 %str39 = internal global [38 x sbyte] c"Extended from %d to %d, time left %d\0A\00"             ; <[38 x sbyte]*> [#uses=0]
320 %checks = internal global [300 x uint] zeroinitializer          ; <[300 x uint]*> [#uses=0]
321 %singular = internal global [300 x uint] zeroinitializer                ; <[300 x uint]*> [#uses=0]
322 %recaps = internal global [300 x uint] zeroinitializer          ; <[300 x uint]*> [#uses=0]
323 %ext_onerep = internal global uint 0            ; <uint*> [#uses=1]
324 %FULL = internal global uint 0          ; <uint*> [#uses=1]
325 %PVS = internal global uint 0           ; <uint*> [#uses=1]
326 %PVSF = internal global uint 0          ; <uint*> [#uses=1]
327 %killer_scores = internal global [300 x int] zeroinitializer            ; <[300 x int]*> [#uses=0]
328 %killer_scores2 = internal global [300 x int] zeroinitializer           ; <[300 x int]*> [#uses=0]
329 %killer_scores3 = internal global [300 x int] zeroinitializer           ; <[300 x int]*> [#uses=0]
330 %time_failure.b = internal global bool false            ; <bool*> [#uses=0]
331 %cur_score = internal global int 0              ; <int*> [#uses=0]
332 %legals = internal global int 0         ; <int*> [#uses=3]
333 %movetotal = internal global int 0              ; <int*> [#uses=0]
334 %searching_move = internal global [20 x sbyte] zeroinitializer          ; <[20 x sbyte]*> [#uses=0]
335 %is_pondering.b = internal global bool false            ; <bool*> [#uses=6]
336 %true_i_depth = internal global sbyte 0         ; <sbyte*> [#uses=1]
337 %is_analyzing.b = internal global bool false            ; <bool*> [#uses=0]
338 %inc = internal global int 0            ; <int*> [#uses=1]
339 %time_cushion = internal global int 0           ; <int*> [#uses=2]
340 %str40 = internal global [16 x sbyte] c"Opening phase.\0A\00"           ; <[16 x sbyte]*> [#uses=1]
341 %str = internal global [19 x sbyte] c"Middlegame phase.\0A\00"          ; <[19 x sbyte]*> [#uses=1]
342 %str1 = internal global [16 x sbyte] c"Endgame phase.\0A\00"            ; <[16 x sbyte]*> [#uses=1]
343 %str43 = internal global [20 x sbyte] c"Time for move : %d\0A\00"               ; <[20 x sbyte]*> [#uses=1]
344 %postpv = internal global [256 x sbyte] zeroinitializer         ; <[256 x sbyte]*> [#uses=0]
345 %str44 = internal global [49 x sbyte] c"tellics whisper %d restart(s), ended up with %s\0A\00"          ; <[49 x sbyte]*> [#uses=0]
346 %moves_to_tc = internal global int 0            ; <int*> [#uses=0]
347 %str45 = internal global [27 x sbyte] c"tellics kibitz Mate in %d\0A\00"                ; <[27 x sbyte]*> [#uses=0]
348 %str46 = internal global [52 x sbyte] c"tellics ptell Mate in %d, give him no more pieces.\0A\00"               ; <[52 x sbyte]*> [#uses=0]
349 %tradefreely.b = internal global bool false             ; <bool*> [#uses=0]
350 %str = internal global [37 x sbyte] c"tellics ptell You can trade freely.\0A\00"                ; <[37 x sbyte]*> [#uses=0]
351 %str47 = internal global [25 x sbyte] c"tellics ptell ---trades\0A\00"          ; <[25 x sbyte]*> [#uses=0]
352 %str2 = internal global [49 x sbyte] c"tellics kibitz Both players dead...resigning...\0A\00"           ; <[49 x sbyte]*> [#uses=0]
353 %str3 = internal global [16 x sbyte] c"tellics resign\0A\00"            ; <[16 x sbyte]*> [#uses=0]
354 %str48 = internal global [81 x sbyte] c"tellics ptell I am forcedly mated (dead). Tell me 'go' to start moving into it.\0A\00"          ; <[81 x sbyte]*> [#uses=0]
355 %str = internal global [62 x sbyte] c"tellics ptell I'll have to sit...(lose piece that mates you)\0A\00"               ; <[62 x sbyte]*> [#uses=0]
356 %see_num_attackers = internal global [2 x int] zeroinitializer          ; <[2 x int]*> [#uses=0]
357 %see_attackers = internal global [2 x [16 x %struct.see_data]] zeroinitializer          ; <[2 x [16 x %struct.see_data]]*> [#uses=0]
358 %scentral = internal global [144 x int] [ int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int -10, int 0, int 3, int 5, int 5, int 3, int 0, int -10, int 0, int 0, int 0, int 0, int -10, int 2, int 15, int 15, int 15, int 15, int 2, int -10, int 0, int 0, int 0, int 0, int -10, int 7, int 15, int 25, int 25, int 15, int 7, int -10, int 0, int 0, int 0, int 0, int -10, int 7, int 15, int 25, int 25, int 15, int 7, int -10, int 0, int 0, int 0, int 0, int -10, int 2, int 15, int 15, int 15, int 15, int 2, int -10, int 0, int 0, int 0, int 0, int -10, int 0, int 3, int 5, int 5, int 3, int 0, int -10, int 0, int 0, int 0, int 0, int -20, int -10, int -10, int -10, int -10, int -10, int -10, int -20, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0, int 0 ]              ; <[144 x int]*> [#uses=0]
359 %str51 = internal global [81 x sbyte] c"/Volumes/Stuff/src/speccpu2006-091-llvm/benchspec//CPU2006/458.sjeng/src/seval.c\00"            ; <[81 x sbyte]*> [#uses=0]
360 %divider = internal global [50 x sbyte] c"-------------------------------------------------\00"         ; <[50 x sbyte]*> [#uses=0]
361 %min_per_game = internal global int 0           ; <int*> [#uses=0]
362 %opp_rating = internal global int 0             ; <int*> [#uses=0]
363 %my_rating = internal global int 0              ; <int*> [#uses=0]
364 %str53 = internal global [15 x sbyte] c"SPEC Workload\0A\00"            ; <[15 x sbyte]*> [#uses=0]
365 %opening_history = internal global [256 x sbyte] zeroinitializer                ; <[256 x sbyte]*> [#uses=0]
366 %str60 = internal global [81 x sbyte] c"Material score: %d   Eval : %d  MaxPosDiff: %d  White hand: %d  Black hand : %d\0A\00"          ; <[81 x sbyte]*> [#uses=0]
367 %str61 = internal global [26 x sbyte] c"Hash : %X  HoldHash : %X\0A\00"         ; <[26 x sbyte]*> [#uses=0]
368 %str62 = internal global [9 x sbyte] c"move %s\0A\00"           ; <[9 x sbyte]*> [#uses=0]
369 %str63 = internal global [5 x sbyte] c"\0A%s\0A\00"             ; <[5 x sbyte]*> [#uses=0]
370 %str64 = internal global [19 x sbyte] c"0-1 {Black Mates}\0A\00"                ; <[19 x sbyte]*> [#uses=0]
371 %str1 = internal global [19 x sbyte] c"1-0 {White Mates}\0A\00"         ; <[19 x sbyte]*> [#uses=0]
372 %str65 = internal global [27 x sbyte] c"1/2-1/2 {Fifty move rule}\0A\00"                ; <[27 x sbyte]*> [#uses=0]
373 %str2 = internal global [29 x sbyte] c"1/2-1/2 {3 fold repetition}\0A\00"               ; <[29 x sbyte]*> [#uses=0]
374 %str66 = internal global [16 x sbyte] c"1/2-1/2 {Draw}\0A\00"           ; <[16 x sbyte]*> [#uses=0]
375 %str68 = internal global [8 x sbyte] c"Sjeng: \00"              ; <[8 x sbyte]*> [#uses=0]
376 %str69 = internal global [18 x sbyte] c"Illegal move: %s\0A\00"         ; <[18 x sbyte]*> [#uses=0]
377 %str3 = internal global [9 x sbyte] c"setboard\00"              ; <[9 x sbyte]*> [#uses=0]
378 %str470 = internal global [5 x sbyte] c"quit\00"                ; <[5 x sbyte]*> [#uses=0]
379 %str571 = internal global [5 x sbyte] c"exit\00"                ; <[5 x sbyte]*> [#uses=0]
380 %str6 = internal global [8 x sbyte] c"diagram\00"               ; <[8 x sbyte]*> [#uses=0]
381 %str7 = internal global [2 x sbyte] c"d\00"             ; <[2 x sbyte]*> [#uses=0]
382 %str72 = internal global [6 x sbyte] c"perft\00"                ; <[6 x sbyte]*> [#uses=0]
383 %str73 = internal global [3 x sbyte] c"%d\00"           ; <[3 x sbyte]*> [#uses=0]
384 %str74 = internal global [28 x sbyte] c"Raw nodes for depth %d: %i\0A\00"               ; <[28 x sbyte]*> [#uses=0]
385 %str = internal global [13 x sbyte] c"Time : %.2f\0A\00"                ; <[13 x sbyte]*> [#uses=0]
386 %str75 = internal global [4 x sbyte] c"new\00"          ; <[4 x sbyte]*> [#uses=0]
387 %str = internal global [40 x sbyte] c"tellics set 1 Sjeng SPEC 1.0 (SPEC/%s)\0A\00"             ; <[40 x sbyte]*> [#uses=0]
388 %str = internal global [7 x sbyte] c"xboard\00"         ; <[7 x sbyte]*> [#uses=0]
389 %str8 = internal global [6 x sbyte] c"nodes\00"         ; <[6 x sbyte]*> [#uses=0]
390 %str77 = internal global [38 x sbyte] c"Number of nodes: %i (%0.2f%% qnodes)\0A\00"             ; <[38 x sbyte]*> [#uses=0]
391 %str9 = internal global [5 x sbyte] c"post\00"          ; <[5 x sbyte]*> [#uses=0]
392 %str10 = internal global [7 x sbyte] c"nopost\00"               ; <[7 x sbyte]*> [#uses=0]
393 %str11 = internal global [7 x sbyte] c"random\00"               ; <[7 x sbyte]*> [#uses=0]
394 %str12 = internal global [5 x sbyte] c"hard\00"         ; <[5 x sbyte]*> [#uses=0]
395 %str13 = internal global [5 x sbyte] c"easy\00"         ; <[5 x sbyte]*> [#uses=0]
396 %str14 = internal global [2 x sbyte] c"?\00"            ; <[2 x sbyte]*> [#uses=0]
397 %str15 = internal global [6 x sbyte] c"white\00"                ; <[6 x sbyte]*> [#uses=0]
398 %str16 = internal global [6 x sbyte] c"black\00"                ; <[6 x sbyte]*> [#uses=0]
399 %str17 = internal global [6 x sbyte] c"force\00"                ; <[6 x sbyte]*> [#uses=0]
400 %str18 = internal global [5 x sbyte] c"eval\00"         ; <[5 x sbyte]*> [#uses=0]
401 %str = internal global [10 x sbyte] c"Eval: %d\0A\00"           ; <[10 x sbyte]*> [#uses=0]
402 %str2178 = internal global [3 x sbyte] c"%i\00"         ; <[3 x sbyte]*> [#uses=0]
403 %str22 = internal global [5 x sbyte] c"otim\00"         ; <[5 x sbyte]*> [#uses=0]
404 %opp_time = internal global int 0               ; <int*> [#uses=0]
405 %str23 = internal global [6 x sbyte] c"level\00"                ; <[6 x sbyte]*> [#uses=0]
406 %str = internal global [12 x sbyte] c"%i %i:%i %i\00"           ; <[12 x sbyte]*> [#uses=0]
407 %sec_per_game = internal global int 0           ; <int*> [#uses=0]
408 %str24 = internal global [9 x sbyte] c"%i %i %i\00"             ; <[9 x sbyte]*> [#uses=0]
409 %str25 = internal global [7 x sbyte] c"rating\00"               ; <[7 x sbyte]*> [#uses=0]
410 %str26 = internal global [6 x sbyte] c"%i %i\00"                ; <[6 x sbyte]*> [#uses=0]
411 %str27 = internal global [8 x sbyte] c"holding\00"              ; <[8 x sbyte]*> [#uses=0]
412 %str28 = internal global [8 x sbyte] c"variant\00"              ; <[8 x sbyte]*> [#uses=0]
413 %str29 = internal global [7 x sbyte] c"normal\00"               ; <[7 x sbyte]*> [#uses=0]
414 %str79 = internal global [11 x sbyte] c"crazyhouse\00"          ; <[11 x sbyte]*> [#uses=0]
415 %str30 = internal global [9 x sbyte] c"bughouse\00"             ; <[9 x sbyte]*> [#uses=0]
416 %str31 = internal global [8 x sbyte] c"suicide\00"              ; <[8 x sbyte]*> [#uses=0]
417 %str32 = internal global [9 x sbyte] c"giveaway\00"             ; <[9 x sbyte]*> [#uses=0]
418 %str33 = internal global [7 x sbyte] c"losers\00"               ; <[7 x sbyte]*> [#uses=0]
419 %str34 = internal global [8 x sbyte] c"analyze\00"              ; <[8 x sbyte]*> [#uses=0]
420 %str35 = internal global [5 x sbyte] c"undo\00"         ; <[5 x sbyte]*> [#uses=0]
421 %str36 = internal global [18 x sbyte] c"Move number : %d\0A\00"         ; <[18 x sbyte]*> [#uses=0]
422 %str37 = internal global [7 x sbyte] c"remove\00"               ; <[7 x sbyte]*> [#uses=0]
423 %str38 = internal global [5 x sbyte] c"edit\00"         ; <[5 x sbyte]*> [#uses=0]
424 %str41 = internal global [2 x sbyte] c"#\00"            ; <[2 x sbyte]*> [#uses=0]
425 %str42 = internal global [8 x sbyte] c"partner\00"              ; <[8 x sbyte]*> [#uses=0]
426 %str43 = internal global [9 x sbyte] c"$partner\00"             ; <[9 x sbyte]*> [#uses=0]
427 %str44 = internal global [6 x sbyte] c"ptell\00"                ; <[6 x sbyte]*> [#uses=0]
428 %str45 = internal global [5 x sbyte] c"test\00"         ; <[5 x sbyte]*> [#uses=0]
429 %str46 = internal global [3 x sbyte] c"st\00"           ; <[3 x sbyte]*> [#uses=0]
430 %str47 = internal global [7 x sbyte] c"result\00"               ; <[7 x sbyte]*> [#uses=0]
431 %str48 = internal global [6 x sbyte] c"prove\00"                ; <[6 x sbyte]*> [#uses=0]
432 %str49 = internal global [26 x sbyte] c"\0AMax time to search (s): \00"         ; <[26 x sbyte]*> [#uses=0]
433 %str50 = internal global [5 x sbyte] c"ping\00"         ; <[5 x sbyte]*> [#uses=0]
434 %str51 = internal global [9 x sbyte] c"pong %d\0A\00"           ; <[9 x sbyte]*> [#uses=0]
435 %str52 = internal global [6 x sbyte] c"fritz\00"                ; <[6 x sbyte]*> [#uses=0]
436 %str53 = internal global [6 x sbyte] c"reset\00"                ; <[6 x sbyte]*> [#uses=0]
437 %str54 = internal global [3 x sbyte] c"sd\00"           ; <[3 x sbyte]*> [#uses=0]
438 %str55 = internal global [26 x sbyte] c"New max depth set to: %d\0A\00"         ; <[26 x sbyte]*> [#uses=0]
439 %str56 = internal global [5 x sbyte] c"auto\00"         ; <[5 x sbyte]*> [#uses=0]
440 %str57 = internal global [9 x sbyte] c"protover\00"             ; <[9 x sbyte]*> [#uses=0]
441 %str = internal global [63 x sbyte] c"feature ping=0 setboard=1 playother=0 san=0 usermove=0 time=1\0A\00"              ; <[63 x sbyte]*> [#uses=0]
442 %str80 = internal global [53 x sbyte] c"feature draw=0 sigint=0 sigterm=0 reuse=1 analyze=0\0A\00"              ; <[53 x sbyte]*> [#uses=0]
443 %str = internal global [33 x sbyte] c"feature myname=\22Sjeng SPEC 1.0\22\0A\00"                ; <[33 x sbyte]*> [#uses=0]
444 %str = internal global [71 x sbyte] c"feature variants=\22normal,bughouse,crazyhouse,suicide,giveaway,losers\22\0A\00"          ; <[71 x sbyte]*> [#uses=0]
445 %str = internal global [46 x sbyte] c"feature colors=1 ics=0 name=0 pause=0 done=1\0A\00"               ; <[46 x sbyte]*> [#uses=0]
446 %str58 = internal global [9 x sbyte] c"accepted\00"             ; <[9 x sbyte]*> [#uses=0]
447 %str59 = internal global [9 x sbyte] c"rejected\00"             ; <[9 x sbyte]*> [#uses=0]
448 %str = internal global [65 x sbyte] c"Interface does not support a required feature...expect trouble.\0A\00"            ; <[65 x sbyte]*> [#uses=0]
449 %str61 = internal global [6 x sbyte] c"\0A%s\0A\0A\00"          ; <[6 x sbyte]*> [#uses=0]
450 %str81 = internal global [41 x sbyte] c"diagram/d:       toggle diagram display\0A\00"          ; <[41 x sbyte]*> [#uses=0]
451 %str82 = internal global [34 x sbyte] c"exit/quit:       terminate Sjeng\0A\00"         ; <[34 x sbyte]*> [#uses=0]
452 %str62 = internal global [51 x sbyte] c"go:              make Sjeng play the side to move\0A\00"                ; <[51 x sbyte]*> [#uses=0]
453 %str83 = internal global [35 x sbyte] c"new:             start a new game\0A\00"                ; <[35 x sbyte]*> [#uses=0]
454 %str84 = internal global [55 x sbyte] c"level <x>:       the xboard style command to set time\0A\00"            ; <[55 x sbyte]*> [#uses=0]
455 %str85 = internal global [49 x sbyte] c"  <x> should be in the form: <a> <b> <c> where:\0A\00"          ; <[49 x sbyte]*> [#uses=0]
456 %str63 = internal global [49 x sbyte] c"  a -> moves to TC (0 if using an ICS style TC)\0A\00"          ; <[49 x sbyte]*> [#uses=0]
457 %str86 = internal global [25 x sbyte] c"  b -> minutes per game\0A\00"          ; <[25 x sbyte]*> [#uses=0]
458 %str64 = internal global [29 x sbyte] c"  c -> increment in seconds\0A\00"              ; <[29 x sbyte]*> [#uses=0]
459 %str65 = internal global [55 x sbyte] c"nodes:           outputs the number of nodes searched\0A\00"            ; <[55 x sbyte]*> [#uses=0]
460 %str87 = internal global [47 x sbyte] c"perft <x>:       compute raw nodes to depth x\0A\00"            ; <[47 x sbyte]*> [#uses=0]
461 %str = internal global [42 x sbyte] c"post:            toggles thinking output\0A\00"           ; <[42 x sbyte]*> [#uses=0]
462 %str = internal global [45 x sbyte] c"xboard:          put Sjeng into xboard mode\0A\00"                ; <[45 x sbyte]*> [#uses=0]
463 %str = internal global [39 x sbyte] c"test:            run an EPD testsuite\0A\00"              ; <[39 x sbyte]*> [#uses=0]
464 %str88 = internal global [52 x sbyte] c"speed:           test movegen and evaluation speed\0A\00"               ; <[52 x sbyte]*> [#uses=0]
465 %str89 = internal global [59 x sbyte] c"proof:           try to prove or disprove the current pos\0A\00"                ; <[59 x sbyte]*> [#uses=0]
466 %str90 = internal global [44 x sbyte] c"sd <x>:          limit thinking to depth x\0A\00"               ; <[44 x sbyte]*> [#uses=0]
467 %str66 = internal global [51 x sbyte] c"st <x>:          limit thinking to x centiseconds\0A\00"                ; <[51 x sbyte]*> [#uses=0]
468 %str67 = internal global [54 x sbyte] c"setboard <FEN>:  set board to a specified FEN string\0A\00"             ; <[54 x sbyte]*> [#uses=0]
469 %str68 = internal global [38 x sbyte] c"undo:            back up a half move\0A\00"             ; <[38 x sbyte]*> [#uses=0]
470 %str69 = internal global [38 x sbyte] c"remove:          back up a full move\0A\00"             ; <[38 x sbyte]*> [#uses=0]
471 %str70 = internal global [42 x sbyte] c"force:           disable computer moving\0A\00"         ; <[42 x sbyte]*> [#uses=0]
472 %str71 = internal global [44 x sbyte] c"auto:            computer plays both sides\0A\00"               ; <[44 x sbyte]*> [#uses=0]
473 %DP_TTable = internal global %struct.TType* null                ; <%struct.TType**> [#uses=1]
474 %AS_TTable = internal global %struct.TType* null                ; <%struct.TType**> [#uses=1]
475 %QS_TTable = internal global %struct.QTType* null               ; <%struct.QTType**> [#uses=1]
476 %str93 = internal global [38 x sbyte] c"Out of memory allocating hashtables.\0A\00"             ; <[38 x sbyte]*> [#uses=0]
477 %type_to_char.3058 = internal global [14 x int] [ int 70, int 80, int 80, int 78, int 78, int 75, int 75, int 82, int 82, int 81, int 81, int 66, int 66, int 69 ]              ; <[14 x int]*> [#uses=0]
478 %str94 = internal global [8 x sbyte] c"%c@%c%d\00"              ; <[8 x sbyte]*> [#uses=0]
479 %str95 = internal global [5 x sbyte] c"%c%d\00"         ; <[5 x sbyte]*> [#uses=0]
480 %str1 = internal global [8 x sbyte] c"%c%d=%c\00"               ; <[8 x sbyte]*> [#uses=0]
481 %str2 = internal global [8 x sbyte] c"%cx%c%d\00"               ; <[8 x sbyte]*> [#uses=0]
482 %str96 = internal global [11 x sbyte] c"%cx%c%d=%c\00"          ; <[11 x sbyte]*> [#uses=0]
483 %str97 = internal global [4 x sbyte] c"O-O\00"          ; <[4 x sbyte]*> [#uses=0]
484 %str98 = internal global [6 x sbyte] c"O-O-O\00"                ; <[6 x sbyte]*> [#uses=0]
485 %str99 = internal global [9 x sbyte] c"%c%c%c%d\00"             ; <[9 x sbyte]*> [#uses=0]
486 %str3100 = internal global [9 x sbyte] c"%c%d%c%d\00"           ; <[9 x sbyte]*> [#uses=0]
487 %str101 = internal global [10 x sbyte] c"%c%cx%c%d\00"          ; <[10 x sbyte]*> [#uses=0]
488 %str4 = internal global [10 x sbyte] c"%c%dx%c%d\00"            ; <[10 x sbyte]*> [#uses=0]
489 %str102 = internal global [7 x sbyte] c"%c%c%d\00"              ; <[7 x sbyte]*> [#uses=0]
490 %str5103 = internal global [5 x sbyte] c"illg\00"               ; <[5 x sbyte]*> [#uses=0]
491 %type_to_char.3190 = internal global [14 x int] [ int 70, int 80, int 112, int 78, int 110, int 75, int 107, int 82, int 114, int 81, int 113, int 66, int 98, int 69 ]         ; <[14 x int]*> [#uses=0]
492 %str7 = internal global [10 x sbyte] c"%c%d%c%dn\00"            ; <[10 x sbyte]*> [#uses=0]
493 %str8 = internal global [10 x sbyte] c"%c%d%c%dr\00"            ; <[10 x sbyte]*> [#uses=0]
494 %str9 = internal global [10 x sbyte] c"%c%d%c%db\00"            ; <[10 x sbyte]*> [#uses=0]
495 %str10 = internal global [10 x sbyte] c"%c%d%c%dk\00"           ; <[10 x sbyte]*> [#uses=0]
496 %str11 = internal global [10 x sbyte] c"%c%d%c%dq\00"           ; <[10 x sbyte]*> [#uses=0]
497 %C.88.3251 = internal global [14 x sbyte*] [ sbyte* getelementptr ([3 x sbyte]* %str105, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str12106, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str13107, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str14, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str15, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str16, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str17, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str18, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str19108, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str20, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str21109, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str22, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str23, int 0, int 0), sbyte* getelementptr ([3 x sbyte]* %str24, int 0, int 0) ]          ; <[14 x sbyte*]*> [#uses=0]
498 %str105 = internal global [3 x sbyte] c"!!\00"          ; <[3 x sbyte]*> [#uses=1]
499 %str12106 = internal global [3 x sbyte] c" P\00"                ; <[3 x sbyte]*> [#uses=1]
500 %str13107 = internal global [3 x sbyte] c"*P\00"                ; <[3 x sbyte]*> [#uses=1]
501 %str14 = internal global [3 x sbyte] c" N\00"           ; <[3 x sbyte]*> [#uses=1]
502 %str15 = internal global [3 x sbyte] c"*N\00"           ; <[3 x sbyte]*> [#uses=1]
503 %str16 = internal global [3 x sbyte] c" K\00"           ; <[3 x sbyte]*> [#uses=1]
504 %str17 = internal global [3 x sbyte] c"*K\00"           ; <[3 x sbyte]*> [#uses=1]
505 %str18 = internal global [3 x sbyte] c" R\00"           ; <[3 x sbyte]*> [#uses=1]
506 %str19108 = internal global [3 x sbyte] c"*R\00"                ; <[3 x sbyte]*> [#uses=1]
507 %str20 = internal global [3 x sbyte] c" Q\00"           ; <[3 x sbyte]*> [#uses=1]
508 %str21109 = internal global [3 x sbyte] c"*Q\00"                ; <[3 x sbyte]*> [#uses=1]
509 %str22 = internal global [3 x sbyte] c" B\00"           ; <[3 x sbyte]*> [#uses=1]
510 %str23 = internal global [3 x sbyte] c"*B\00"           ; <[3 x sbyte]*> [#uses=1]
511 %str24 = internal global [3 x sbyte] c"  \00"           ; <[3 x sbyte]*> [#uses=1]
512 %str110 = internal global [42 x sbyte] c"+----+----+----+----+----+----+----+----+\00"          ; <[42 x sbyte]*> [#uses=0]
513 %str25 = internal global [6 x sbyte] c"  %s\0A\00"              ; <[6 x sbyte]*> [#uses=0]
514 %str26 = internal global [5 x sbyte] c"%d |\00"         ; <[5 x sbyte]*> [#uses=0]
515 %str27 = internal global [6 x sbyte] c" %s |\00"                ; <[6 x sbyte]*> [#uses=0]
516 %str28 = internal global [7 x sbyte] c"\0A  %s\0A\00"           ; <[7 x sbyte]*> [#uses=0]
517 %str111 = internal global [45 x sbyte] c"\0A     a    b    c    d    e    f    g    h\0A\0A\00"         ; <[45 x sbyte]*> [#uses=0]
518 %str29 = internal global [45 x sbyte] c"\0A     h    g    f    e    d    c    b    a\0A\0A\00"          ; <[45 x sbyte]*> [#uses=0]
519 %str33 = internal global [2 x sbyte] c"<\00"            ; <[2 x sbyte]*> [#uses=0]
520 %str34 = internal global [3 x sbyte] c"> \00"           ; <[3 x sbyte]*> [#uses=0]
521 %str114 = internal global [18 x sbyte] c"%2i %7i %5i %8i  \00"          ; <[18 x sbyte]*> [#uses=0]
522 %str115 = internal global [20 x sbyte] c"%2i %c%1i.%02i %9i \00"                ; <[20 x sbyte]*> [#uses=0]
523 %str39 = internal global [5 x sbyte] c"%s !\00"         ; <[5 x sbyte]*> [#uses=0]
524 %str40 = internal global [6 x sbyte] c"%s !!\00"                ; <[6 x sbyte]*> [#uses=0]
525 %str41 = internal global [6 x sbyte] c"%s ??\00"                ; <[6 x sbyte]*> [#uses=0]
526 %str124 = internal global [71 x sbyte] c"\0ASjeng version SPEC 1.0, Copyright (C) 2000-2005 Gian-Carlo Pascutto\0A\0A\00"               ; <[71 x sbyte]*> [#uses=0]
527 %state = internal global [625 x uint] zeroinitializer           ; <[625 x uint]*> [#uses=0]
528
529 implementation   ; Functions:
530
531 declare fastcc int %calc_attackers(int, int)
532
533 declare fastcc uint %is_attacked(int, int)
534
535 declare fastcc void %ProcessHoldings(sbyte*)
536
537 declare void %llvm.memset.i32(sbyte*, ubyte, uint, uint)
538
539 declare sbyte* %strncpy(sbyte*, sbyte*, uint)
540
541 declare void %llvm.memcpy.i32(sbyte*, sbyte*, uint, uint)
542
543 declare void %__eprintf(sbyte*, sbyte*, uint, sbyte*)
544
545 declare fastcc void %addHolding(int, int)
546
547 declare fastcc void %removeHolding(int, int)
548
549 declare fastcc void %DropremoveHolding(int, int)
550
551 declare int %printf(sbyte*, ...)
552
553 declare fastcc uint %is_draw()
554
555 declare void %exit(int)
556
557 declare fastcc void %setup_epd_line(sbyte*)
558
559 declare int %atoi(sbyte*)
560
561 declare fastcc void %reset_piece_square()
562
563 declare fastcc void %initialize_hash()
564
565 declare int %__maskrune(int, uint)
566
567 declare fastcc void %comp_to_san(long, long, long, sbyte*)
568
569 declare sbyte* %strstr(sbyte*, sbyte*)
570
571 declare int %atol(sbyte*)
572
573 declare %struct.FILE* %fopen(sbyte*, sbyte*)
574
575 declare fastcc void %display_board(int)
576
577 internal csretcc void %think(%struct.move_s* %agg.result) {
578 entry:
579         %output.i = alloca [8 x sbyte], align 8         ; <[8 x sbyte]*> [#uses=0]
580         %comp_move = alloca %struct.move_s, align 16            ; <%struct.move_s*> [#uses=7]
581         %temp_move = alloca %struct.move_s, align 16            ; <%struct.move_s*> [#uses=6]
582         %moves = alloca [512 x %struct.move_s], align 16                ; <[512 x %struct.move_s]*> [#uses=7]
583         %output = alloca [8 x sbyte], align 8           ; <[8 x sbyte]*> [#uses=1]
584         store bool false, bool* %userealholdings.b
585         %tmp = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0               ; <%struct.move_s*> [#uses=3]
586         %tmp362 = getelementptr %struct.move_s* %comp_move, int 0, uint 0               ; <int*> [#uses=0]
587         %tmp365 = getelementptr %struct.move_s* %comp_move, int 0, uint 1               ; <int*> [#uses=0]
588         %tmp368 = getelementptr %struct.move_s* %comp_move, int 0, uint 2               ; <int*> [#uses=0]
589         %tmp371 = getelementptr %struct.move_s* %comp_move, int 0, uint 3               ; <int*> [#uses=0]
590         %tmp374 = getelementptr %struct.move_s* %comp_move, int 0, uint 4               ; <int*> [#uses=0]
591         %tmp377 = getelementptr %struct.move_s* %comp_move, int 0, uint 5               ; <int*> [#uses=0]
592         %tmp = cast %struct.move_s* %comp_move to { long, long, long }*         ; <{ long, long, long }*> [#uses=3]
593         %tmp = getelementptr { long, long, long }* %tmp, int 0, uint 0          ; <long*> [#uses=0]
594         %tmp829 = getelementptr { long, long, long }* %tmp, int 0, uint 1               ; <long*> [#uses=0]
595         %tmp832 = getelementptr { long, long, long }* %tmp, int 0, uint 2               ; <long*> [#uses=0]
596         %output = getelementptr [8 x sbyte]* %output, int 0, int 0              ; <sbyte*> [#uses=0]
597         %tmp573 = getelementptr %struct.move_s* %temp_move, int 0, uint 0               ; <int*> [#uses=0]
598         %tmp576 = getelementptr %struct.move_s* %temp_move, int 0, uint 1               ; <int*> [#uses=0]
599         %tmp579 = getelementptr %struct.move_s* %temp_move, int 0, uint 2               ; <int*> [#uses=0]
600         %tmp582 = getelementptr %struct.move_s* %temp_move, int 0, uint 3               ; <int*> [#uses=0]
601         %tmp585 = getelementptr %struct.move_s* %temp_move, int 0, uint 4               ; <int*> [#uses=0]
602         %tmp588 = getelementptr %struct.move_s* %temp_move, int 0, uint 5               ; <int*> [#uses=0]
603         %pn_restart.0.ph = cast uint 0 to int           ; <int> [#uses=2]
604         %tmp21362 = seteq uint 0, 0             ; <bool> [#uses=2]
605         %tmp216 = cast int %pn_restart.0.ph to float            ; <float> [#uses=1]
606         %tmp216 = cast float %tmp216 to double          ; <double> [#uses=1]
607         %tmp217 = add double %tmp216, 1.000000e+00              ; <double> [#uses=1]
608         %tmp835 = setgt int %pn_restart.0.ph, 9         ; <bool> [#uses=0]
609         store int 0, int* %nodes
610         store int 0, int* %qnodes
611         store int 1, int* %ply
612         store uint 0, uint* %ECacheProbes
613         store uint 0, uint* %ECacheHits
614         store uint 0, uint* %TTProbes
615         store uint 0, uint* %TTHits
616         store uint 0, uint* %TTStores
617         store uint 0, uint* %NCuts
618         store uint 0, uint* %NTries
619         store uint 0, uint* %TExt
620         store uint 0, uint* %FH
621         store uint 0, uint* %FHF
622         store uint 0, uint* %PVS
623         store uint 0, uint* %FULL
624         store uint 0, uint* %PVSF
625         store uint 0, uint* %ext_check
626         store uint 0, uint* %ext_onerep
627         store uint 0, uint* %razor_drop
628         store uint 0, uint* %razor_material
629         store bool false, bool* %extendedtime.b
630         store bool false, bool* %forcedwin.b
631         store int 200, int* %maxposdiff
632         store sbyte 0, sbyte* %true_i_depth
633         store int 0, int* %legals
634         %tmp48 = load int* %Variant             ; <int> [#uses=1]
635         %tmp49 = seteq int %tmp48, 4            ; <bool> [#uses=1]
636         %storemerge = cast bool %tmp49 to uint          ; <uint> [#uses=1]
637         store uint %storemerge, uint* %captures
638         call fastcc void %gen( %struct.move_s* %tmp )
639         %tmp53 = load int* %numb_moves          ; <int> [#uses=1]
640         %tmp.i = load int* %Variant             ; <int> [#uses=1]
641         %tmp.i = seteq int %tmp.i, 3            ; <bool> [#uses=1]
642         br bool %tmp.i, label %in_check.exit, label %cond_next.i
643
644 cond_next.i:            ; preds = %entry
645         %tmp2.i5 = load int* %white_to_move             ; <int> [#uses=1]
646         %tmp3.i = seteq int %tmp2.i5, 1         ; <bool> [#uses=0]
647         ret void
648
649 in_check.exit:          ; preds = %entry
650         %tmp7637 = setgt int %tmp53, 0          ; <bool> [#uses=1]
651         br bool %tmp7637, label %cond_true77, label %bb80
652
653 cond_true77:            ; preds = %in_check.exit
654         %l.1.0 = cast uint 0 to int             ; <int> [#uses=2]
655         call fastcc void %make( %struct.move_s* %tmp, int %l.1.0 )
656         %tmp61 = call fastcc uint %check_legal( %struct.move_s* %tmp, int %l.1.0, int 0 )               ; <uint> [#uses=1]
657         %tmp62 = seteq uint %tmp61, 0           ; <bool> [#uses=0]
658         ret void
659
660 bb80:           ; preds = %in_check.exit
661         %tmp81 = load int* %Variant             ; <int> [#uses=1]
662         %tmp82 = seteq int %tmp81, 4            ; <bool> [#uses=1]
663         br bool %tmp82, label %cond_true83, label %cond_next118
664
665 cond_true83:            ; preds = %bb80
666         %tmp84 = load int* %legals              ; <int> [#uses=1]
667         %tmp85 = seteq int %tmp84, 0            ; <bool> [#uses=0]
668         ret void
669
670 cond_next118:           ; preds = %bb80
671         %tmp119 = load int* %Variant            ; <int> [#uses=1]
672         %tmp120 = seteq int %tmp119, 1          ; <bool> [#uses=1]
673         br bool %tmp120, label %cond_next176, label %cond_true121
674
675 cond_true121:           ; preds = %cond_next118
676         %tmp122.b = load bool* %is_pondering.b          ; <bool> [#uses=1]
677         br bool %tmp122.b, label %cond_next176, label %cond_true124
678
679 cond_true124:           ; preds = %cond_true121
680         %tmp125 = load int* %legals             ; <int> [#uses=1]
681         %tmp126 = seteq int %tmp125, 1          ; <bool> [#uses=1]
682         br bool %tmp126, label %cond_true127, label %cond_next176
683
684 cond_true127:           ; preds = %cond_true124
685         %tmp128 = load int* %inc                ; <int> [#uses=1]
686         %tmp129 = mul int %tmp128, 100          ; <int> [#uses=1]
687         %tmp130 = load int* %time_cushion               ; <int> [#uses=1]
688         %tmp131 = add int %tmp129, %tmp130              ; <int> [#uses=1]
689         store int %tmp131, int* %time_cushion
690         %tmp134 = getelementptr %struct.move_s* %agg.result, int 0, uint 0              ; <int*> [#uses=1]
691         %tmp135 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 0            ; <int*> [#uses=1]
692         %tmp136 = load int* %tmp135             ; <int> [#uses=1]
693         store int %tmp136, int* %tmp134
694         %tmp137 = getelementptr %struct.move_s* %agg.result, int 0, uint 1              ; <int*> [#uses=1]
695         %tmp138 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 1            ; <int*> [#uses=1]
696         %tmp139 = load int* %tmp138             ; <int> [#uses=1]
697         store int %tmp139, int* %tmp137
698         %tmp140 = getelementptr %struct.move_s* %agg.result, int 0, uint 2              ; <int*> [#uses=1]
699         %tmp141 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 2            ; <int*> [#uses=1]
700         %tmp142 = load int* %tmp141             ; <int> [#uses=1]
701         store int %tmp142, int* %tmp140
702         %tmp143 = getelementptr %struct.move_s* %agg.result, int 0, uint 3              ; <int*> [#uses=1]
703         %tmp144 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 3            ; <int*> [#uses=1]
704         %tmp145 = load int* %tmp144             ; <int> [#uses=1]
705         store int %tmp145, int* %tmp143
706         %tmp146 = getelementptr %struct.move_s* %agg.result, int 0, uint 4              ; <int*> [#uses=1]
707         %tmp147 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 4            ; <int*> [#uses=1]
708         %tmp148 = load int* %tmp147             ; <int> [#uses=1]
709         store int %tmp148, int* %tmp146
710         %tmp149 = getelementptr %struct.move_s* %agg.result, int 0, uint 5              ; <int*> [#uses=1]
711         %tmp150 = getelementptr [512 x %struct.move_s]* %moves, int 0, int 0, uint 5            ; <int*> [#uses=1]
712         %tmp151 = load int* %tmp150             ; <int> [#uses=1]
713         store int %tmp151, int* %tmp149
714         ret void
715
716 cond_next176:           ; preds = %cond_true124, %cond_true121, %cond_next118
717         call fastcc void %check_phase( )
718         %tmp177 = load int* %phase              ; <int> [#uses=1]
719         switch int %tmp177, label %bb187 [
720                  int 0, label %bb178
721                  int 1, label %bb180
722                  int 2, label %bb183
723         ]
724
725 bb178:          ; preds = %cond_next176
726         %tmp179 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([16 x sbyte]* %str40, int 0, uint 0) )         ; <int> [#uses=0]
727         %tmp18854.b = load bool* %is_pondering.b                ; <bool> [#uses=1]
728         br bool %tmp18854.b, label %cond_false210, label %cond_true190
729
730 bb180:          ; preds = %cond_next176
731         %tmp182 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([19 x sbyte]* %str, int 0, uint 0) )           ; <int> [#uses=0]
732         %tmp18856.b = load bool* %is_pondering.b                ; <bool> [#uses=0]
733         ret void
734
735 bb183:          ; preds = %cond_next176
736         %tmp185 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([16 x sbyte]* %str1, int 0, uint 0) )          ; <int> [#uses=0]
737         %tmp18858.b = load bool* %is_pondering.b                ; <bool> [#uses=0]
738         ret void
739
740 bb187:          ; preds = %cond_next176
741         %tmp188.b = load bool* %is_pondering.b          ; <bool> [#uses=0]
742         ret void
743
744 cond_true190:           ; preds = %bb178
745         %tmp191 = load int* %fixed_time         ; <int> [#uses=1]
746         %tmp192 = seteq int %tmp191, 0          ; <bool> [#uses=0]
747         ret void
748
749 cond_false210:          ; preds = %bb178
750         store int 999999, int* %time_for_move
751         br bool %tmp21362, label %cond_true226.critedge, label %bb287.critedge
752
753 cond_true226.critedge:          ; preds = %cond_false210
754         %tmp223.c = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([20 x sbyte]* %str43, int 0, uint 0), int 999999 )           ; <int> [#uses=0]
755         %tmp.i = load %struct.TType** %DP_TTable                ; <%struct.TType*> [#uses=1]
756         %tmp.i7.b = load bool* %TTSize.b                ; <bool> [#uses=1]
757         %tmp1.i = select bool %tmp.i7.b, uint 60000000, uint 0          ; <uint> [#uses=1]
758         %tmp.i = getelementptr %struct.TType* %tmp.i, int 0, uint 0             ; <sbyte*> [#uses=1]
759         call void %llvm.memset.i32( sbyte* %tmp.i, ubyte 0, uint %tmp1.i, uint 4 )
760         %tmp2.i = load %struct.TType** %AS_TTable               ; <%struct.TType*> [#uses=1]
761         %tmp3.i8.b = load bool* %TTSize.b               ; <bool> [#uses=1]
762         %tmp4.i = select bool %tmp3.i8.b, uint 60000000, uint 0         ; <uint> [#uses=1]
763         %tmp2.i = getelementptr %struct.TType* %tmp2.i, int 0, uint 0           ; <sbyte*> [#uses=1]
764         call void %llvm.memset.i32( sbyte* %tmp2.i, ubyte 0, uint %tmp4.i, uint 4 )
765         %tmp.i = load %struct.QTType** %QS_TTable               ; <%struct.QTType*> [#uses=1]
766         %tmp5.i9.b = load bool* %TTSize.b               ; <bool> [#uses=1]
767         %tmp6.i10 = select bool %tmp5.i9.b, uint 48000000, uint 0               ; <uint> [#uses=1]
768         %tmp7.i = getelementptr %struct.QTType* %tmp.i, int 0, uint 0           ; <sbyte*> [#uses=1]
769         call void %llvm.memset.i32( sbyte* %tmp7.i, ubyte 0, uint %tmp6.i10, uint 4 )
770         %tmp.i = load %struct.ECacheType** %ECache              ; <%struct.ECacheType*> [#uses=1]
771         %tmp.i14.b = load bool* %ECacheSize.b           ; <bool> [#uses=1]
772         %tmp1.i16 = select bool %tmp.i14.b, uint 12000000, uint 0               ; <uint> [#uses=1]
773         %tmp.i17 = cast %struct.ECacheType* %tmp.i to sbyte*            ; <sbyte*> [#uses=1]
774         call void %llvm.memset.i32( sbyte* %tmp.i17, ubyte 0, uint %tmp1.i16, uint 4 )
775         call void %llvm.memset.i32( sbyte* cast ([300 x int]* %rootlosers to sbyte*), ubyte 0, uint 1200, uint 4 )
776         %tmp234.b = load bool* %is_pondering.b          ; <bool> [#uses=1]
777         br bool %tmp234.b, label %bb263, label %cond_next238
778
779 cond_next238:           ; preds = %cond_true226.critedge
780         %tmp239 = load int* %Variant            ; <int> [#uses=2]
781         switch int %tmp239, label %bb263 [
782                  int 3, label %bb249
783                  int 4, label %bb249
784         ]
785
786 bb249:          ; preds = %cond_next238, %cond_next238
787         %tmp250 = load int* %piece_count                ; <int> [#uses=1]
788         %tmp251 = setgt int %tmp250, 3          ; <bool> [#uses=1]
789         %tmp240.not = setne int %tmp239, 3              ; <bool> [#uses=1]
790         %brmerge = or bool %tmp251, %tmp240.not         ; <bool> [#uses=1]
791         br bool %brmerge, label %bb260, label %bb263
792
793 bb260:          ; preds = %bb249
794         %tmp261 = load int* %time_for_move              ; <int> [#uses=1]
795         %tmp261 = cast int %tmp261 to float             ; <float> [#uses=1]
796         %tmp261 = cast float %tmp261 to double          ; <double> [#uses=1]
797         %tmp262 = div double %tmp261, 3.000000e+00              ; <double> [#uses=1]
798         %tmp262 = cast double %tmp262 to int            ; <int> [#uses=1]
799         store int %tmp262, int* %pn_time
800         %tmp1.b.i = load bool* %PBSize.b                ; <bool> [#uses=1]
801         %tmp1.i1 = select bool %tmp1.b.i, uint 200000, uint 0           ; <uint> [#uses=1]
802         %tmp.i2 = call sbyte* %calloc( uint %tmp1.i1, uint 44 )         ; <sbyte*> [#uses=1]
803         %tmp.i = cast sbyte* %tmp.i2 to ubyte*          ; <ubyte*> [#uses=1]
804         store ubyte* %tmp.i, ubyte** %membuff
805         %tmp2.i3 = call sbyte* %calloc( uint 1, uint 44 )               ; <sbyte*> [#uses=3]
806         %tmp2.i = cast sbyte* %tmp2.i3 to %struct.node_t*               ; <%struct.node_t*> [#uses=6]
807         %tmp.i = getelementptr [512 x %struct.move_s]* null, int 0, int 0               ; <%struct.move_s*> [#uses=3]
808         call fastcc void %gen( %struct.move_s* %tmp.i )
809         %tmp3.i4 = load int* %numb_moves                ; <int> [#uses=4]
810         %tmp3.i5 = cast int %tmp3.i4 to uint            ; <uint> [#uses=0]
811         store bool false, bool* %alllosers.b
812         call void %llvm.memset.i32( sbyte* cast ([300 x int]* %rootlosers to sbyte*), ubyte 0, uint 1200, uint 4 )
813         %nodesspent.i = cast [512 x int]* null to sbyte*                ; <sbyte*> [#uses=1]
814         call void %llvm.memset.i32( sbyte* %nodesspent.i, ubyte 0, uint 2048, uint 16 )
815         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0)
816         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1)
817         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2)
818         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3)
819         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4)
820         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5)
821         %tmp.i.i = load int* %Variant           ; <int> [#uses=1]
822         %tmp.i.i = seteq int %tmp.i.i, 3                ; <bool> [#uses=1]
823         br bool %tmp.i.i, label %in_check.exit.i, label %cond_next.i.i
824
825 cond_next.i.i:          ; preds = %bb260
826         %tmp2.i.i = load int* %white_to_move            ; <int> [#uses=1]
827         %tmp3.i.i = seteq int %tmp2.i.i, 1              ; <bool> [#uses=1]
828         br bool %tmp3.i.i, label %cond_true4.i.i, label %cond_false12.i.i
829
830 cond_true4.i.i:         ; preds = %cond_next.i.i
831         %tmp5.i.i = load int* %wking_loc                ; <int> [#uses=1]
832         %tmp6.i.i = call fastcc uint %is_attacked( int %tmp5.i.i, int 0 )               ; <uint> [#uses=1]
833         %not.tmp7.i.i = setne uint %tmp6.i.i, 0         ; <bool> [#uses=1]
834         %tmp217.i = cast bool %not.tmp7.i.i to int              ; <int> [#uses=1]
835         %tmp4219.i = setgt int %tmp3.i4, 0              ; <bool> [#uses=1]
836         br bool %tmp4219.i, label %cond_true43.i, label %bb46.i
837
838 cond_false12.i.i:               ; preds = %cond_next.i.i
839         %tmp13.i.i = load int* %bking_loc               ; <int> [#uses=1]
840         %tmp14.i.i = call fastcc uint %is_attacked( int %tmp13.i.i, int 1 )             ; <uint> [#uses=1]
841         %not.tmp15.i.i = setne uint %tmp14.i.i, 0               ; <bool> [#uses=1]
842         %tmp2120.i = cast bool %not.tmp15.i.i to int            ; <int> [#uses=1]
843         %tmp4222.i = setgt int %tmp3.i4, 0              ; <bool> [#uses=1]
844         br bool %tmp4222.i, label %cond_true43.i, label %bb46.i
845
846 in_check.exit.i:                ; preds = %bb260
847         %tmp4224.i = setgt int %tmp3.i4, 0              ; <bool> [#uses=0]
848         ret void
849
850 cond_true43.i:          ; preds = %cond_false12.i.i, %cond_true4.i.i
851         %tmp21.0.ph.i = phi int [ %tmp217.i, %cond_true4.i.i ], [ %tmp2120.i, %cond_false12.i.i ]               ; <int> [#uses=1]
852         %i.0.0.i = cast uint 0 to int           ; <int> [#uses=2]
853         call fastcc void %make( %struct.move_s* %tmp.i, int %i.0.0.i )
854         %tmp27.i = call fastcc uint %check_legal( %struct.move_s* %tmp.i, int %i.0.0.i, int %tmp21.0.ph.i )             ; <uint> [#uses=1]
855         %tmp.i6 = seteq uint %tmp27.i, 0                ; <bool> [#uses=0]
856         ret void
857
858 bb46.i:         ; preds = %cond_false12.i.i, %cond_true4.i.i
859         %tmp48.i = seteq int 0, 0               ; <bool> [#uses=1]
860         br bool %tmp48.i, label %cond_true49.i, label %cond_next53.i
861
862 cond_true49.i:          ; preds = %bb46.i
863         store int 0, int* %bufftop
864         %tmp50.i = load ubyte** %membuff                ; <ubyte*> [#uses=1]
865         free ubyte* %tmp50.i
866         free sbyte* %tmp2.i3
867         ret void
868
869 cond_next53.i:          ; preds = %bb46.i
870         store int 1, int* %nodecount
871         store int 0, int* %iters
872         store int 0, int* %maxply
873         store int 0, int* %forwards
874         %tmp54.i = load int* %move_number               ; <int> [#uses=1]
875         %tmp55.i = load int* %ply               ; <int> [#uses=1]
876         %tmp56.i = add int %tmp54.i, -1         ; <int> [#uses=1]
877         %tmp57.i = add int %tmp56.i, %tmp55.i           ; <int> [#uses=1]
878         %tmp58.i = load uint* %hash             ; <uint> [#uses=1]
879         %tmp.i = getelementptr [600 x uint]* %hash_history, int 0, int %tmp57.i         ; <uint*> [#uses=1]
880         store uint %tmp58.i, uint* %tmp.i
881         %tmp59.i = load int* %white_to_move             ; <int> [#uses=1]
882         %tmp60.i = seteq int %tmp59.i, 0                ; <bool> [#uses=1]
883         %tmp60.i = cast bool %tmp60.i to int            ; <int> [#uses=1]
884         store int %tmp60.i, int* %root_to_move
885         %tmp.i4.i = load int* %Variant          ; <int> [#uses=2]
886         %tmp.i5.i = seteq int %tmp.i4.i, 3              ; <bool> [#uses=1]
887         br bool %tmp.i5.i, label %cond_true.i.i, label %cond_false.i.i
888
889 cond_true.i.i:          ; preds = %cond_next53.i
890         call fastcc void %suicide_pn_eval( %struct.node_t* %tmp2.i )
891         %tmp6328.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0               ; <ubyte*> [#uses=1]
892         %tmp29.i = load ubyte* %tmp6328.i               ; <ubyte> [#uses=1]
893         %tmp6430.i = seteq ubyte %tmp29.i, 1            ; <bool> [#uses=0]
894         ret void
895
896 cond_false.i.i:         ; preds = %cond_next53.i
897         %tmp2.i.i = seteq int %tmp.i4.i, 4              ; <bool> [#uses=1]
898         %tmp63.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0         ; <ubyte*> [#uses=2]
899         br bool %tmp2.i.i, label %cond_true3.i.i, label %cond_false5.i.i
900
901 cond_true3.i.i:         ; preds = %cond_false.i.i
902         call fastcc void %losers_pn_eval( %struct.node_t* %tmp2.i )
903         %tmp31.i = load ubyte* %tmp63.i         ; <ubyte> [#uses=1]
904         %tmp6432.i = seteq ubyte %tmp31.i, 1            ; <bool> [#uses=1]
905         br bool %tmp6432.i, label %bb75.i, label %cond_next67.i
906
907 cond_false5.i.i:                ; preds = %cond_false.i.i
908         call fastcc void %std_pn_eval( %struct.node_t* %tmp2.i )
909         %tmp.i = load ubyte* %tmp63.i           ; <ubyte> [#uses=1]
910         %tmp64.i = seteq ubyte %tmp.i, 1                ; <bool> [#uses=0]
911         ret void
912
913 cond_next67.i:          ; preds = %cond_true3.i.i
914         %tmp69.i = getelementptr %struct.node_t* %tmp2.i, int 0, uint 0         ; <ubyte*> [#uses=1]
915         %tmp70.i = load ubyte* %tmp69.i         ; <ubyte> [#uses=1]
916         %tmp71.i = seteq ubyte %tmp70.i, 0              ; <bool> [#uses=0]
917         ret void
918
919 bb75.i:         ; preds = %cond_true3.i.i
920         store int 0, int* %bufftop
921         %tmp76.i = load ubyte** %membuff                ; <ubyte*> [#uses=1]
922         free ubyte* %tmp76.i
923         free sbyte* %tmp2.i3
924         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0)
925         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1)
926         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2)
927         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3)
928         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4)
929         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5)
930         %tmp28869 = load int* %result           ; <int> [#uses=1]
931         %tmp28970 = seteq int %tmp28869, 0              ; <bool> [#uses=1]
932         br bool %tmp28970, label %cond_next337, label %cond_true290
933
934 bb263:          ; preds = %bb249, %cond_next238, %cond_true226.critedge
935         br bool %tmp21362, label %cond_true266, label %bb287
936
937 cond_true266:           ; preds = %bb263
938         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 0)
939         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 1)
940         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 2)
941         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 3)
942         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 4)
943         store int 0, int* getelementptr (%struct.move_s* %pn_move, uint 0, uint 5)
944         %tmp28871 = load int* %result           ; <int> [#uses=1]
945         %tmp28972 = seteq int %tmp28871, 0              ; <bool> [#uses=0]
946         ret void
947
948 bb287.critedge:         ; preds = %cond_false210
949         %tmp218.c = div double 1.999998e+06, %tmp217            ; <double> [#uses=1]
950         %tmp218.c = cast double %tmp218.c to int                ; <int> [#uses=2]
951         store int %tmp218.c, int* %time_for_move
952         %tmp22367.c = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([20 x sbyte]* %str43, int 0, uint 0), int %tmp218.c )              ; <int> [#uses=0]
953         ret void
954
955 bb287:          ; preds = %bb263
956         %tmp288 = load int* %result             ; <int> [#uses=1]
957         %tmp289 = seteq int %tmp288, 0          ; <bool> [#uses=0]
958         ret void
959
960 cond_true290:           ; preds = %bb75.i
961         %tmp292 = load int* getelementptr (%struct.move_s* %pn_move, int 0, uint 1)             ; <int> [#uses=1]
962         %tmp295 = seteq int %tmp292, 0          ; <bool> [#uses=0]
963         ret void
964
965 cond_next337:           ; preds = %bb75.i
966         %tmp338.b = load bool* %forcedwin.b             ; <bool> [#uses=1]
967         br bool %tmp338.b, label %bb348, label %cond_next342
968
969 cond_next342:           ; preds = %cond_next337
970         %tmp343 = load int* %result             ; <int> [#uses=1]
971         %tmp344 = seteq int %tmp343, 0          ; <bool> [#uses=0]
972         ret void
973
974 bb348:          ; preds = %cond_next337
975         %tmp350 = load int* getelementptr (%struct.move_s* %pn_move, int 0, uint 1)             ; <int> [#uses=1]
976         %tmp353 = seteq int %tmp350, 0          ; <bool> [#uses=0]
977         ret void
978 }
979
980 declare fastcc int %eval(int, int)
981
982 declare sbyte* %fgets(sbyte*, int, %struct.FILE*)
983
984 declare int %fclose(%struct.FILE*)
985
986 declare fastcc int %losers_eval()
987
988 declare fastcc int %l_bishop_mobility(int)
989
990 declare fastcc int %l_rook_mobility(int)
991
992 declare fastcc uint %check_legal(%struct.move_s*, int, int)
993
994 declare fastcc void %gen(%struct.move_s*)
995
996 declare fastcc void %push_pawn(int, uint)
997
998 declare fastcc void %push_knighT(int)
999
1000 declare fastcc void %push_slidE(int)
1001
1002 declare fastcc void %push_king(int)
1003
1004 declare fastcc uint %f_in_check(%struct.move_s*, int)
1005
1006 declare fastcc void %make(%struct.move_s*, int)
1007
1008 declare fastcc void %add_capture(int, int, int)
1009
1010 declare fastcc void %unmake(%struct.move_s*, int)
1011
1012 declare int %ErrorIt(int, int)
1013
1014 declare int %Pawn(int, int)
1015
1016 declare int %Knight(int, int)
1017
1018 declare int %King(int, int)
1019
1020 declare int %Rook(int, int)
1021
1022 declare int %Queen(int, int)
1023
1024 declare int %Bishop(int, int)
1025
1026 declare fastcc void %check_phase()
1027
1028 declare fastcc int %bishop_mobility(int)
1029
1030 declare fastcc int %rook_mobility(int)
1031
1032 declare int %sscanf(sbyte*, sbyte*, ...)
1033
1034 declare int %strncmp(sbyte*, sbyte*, uint)
1035
1036 declare sbyte* %strchr(sbyte*, int)
1037
1038 declare fastcc void %CheckBadFlow(uint)
1039
1040 declare fastcc void %suicide_pn_eval(%struct.node_t*)
1041
1042 declare fastcc void %losers_pn_eval(%struct.node_t*)
1043
1044 declare fastcc void %std_pn_eval(%struct.node_t*)
1045
1046 declare fastcc %struct.node_t* %select_most_proving(%struct.node_t*)
1047
1048 declare fastcc void %set_proof_and_disproof_numbers(%struct.node_t*)
1049
1050 declare fastcc void %StoreTT(int, int, int, int, int, int)
1051
1052 declare fastcc void %develop_node(%struct.node_t*)
1053
1054 declare fastcc void %update_ancestors(%struct.node_t*)
1055
1056 declare sbyte* %calloc(uint, uint)
1057
1058 declare fastcc void %comp_to_coord(long, long, long, sbyte*)
1059
1060 declare sbyte* %strcat(sbyte*, sbyte*)
1061
1062 declare int %sprintf(sbyte*, sbyte*, ...)
1063
1064 declare fastcc void %order_moves(%struct.move_s*, int*, int*, int, int)
1065
1066 declare fastcc int %see(int, int, int)
1067
1068 declare fastcc void %perft(int)
1069
1070 declare fastcc int %qsearch(int, int, int)
1071
1072 declare fastcc int %allocate_time()
1073
1074 declare fastcc void %QStoreTT(int, int, int, int)
1075
1076 declare fastcc int %search(int, int, int, int)
1077
1078 declare fastcc int %ProbeTT(int*, int, int*, int*, int*, int)
1079
1080 declare csretcc void %search_root(%struct.move_s*, int, int, int)
1081
1082 declare fastcc void %post_fh_thinking(int, %struct.move_s*)
1083
1084 declare fastcc void %post_thinking(int)
1085
1086 declare int %fprintf(%struct.FILE*, sbyte*, ...)
1087
1088 declare fastcc int %s_bishop_mobility(int)
1089
1090 declare fastcc int %s_rook_mobility(int)
1091
1092 declare fastcc int %suicide_mid_eval()
1093
1094 declare int %main(int, sbyte**)
1095
1096 declare fastcc void %init_game()
1097
1098 declare void %setbuf(%struct.FILE*, sbyte*)
1099
1100 declare sbyte* %strcpy(sbyte*, sbyte*)
1101
1102 declare int %__tolower(int)
1103
1104 declare int %strcmp(sbyte*, sbyte*)
1105
1106 declare void (int)* %signal(int, void (int)*)
1107
1108 declare bool %llvm.isunordered.f64(double, double)
1109
1110 declare fastcc void %hash_extract_pv(int, sbyte*)
1111
1112 declare double %difftime(int, int)
1113
1114 declare int %getc(%struct.FILE*)
1115
1116 declare uint %strlen(sbyte*)
1117
1118 declare uint %fwrite(sbyte*, uint, uint, %struct.FILE*)