- %tmp.2 = load int* %b_rec.0 ; <int> [#uses=1]
- %tmp.9 = or int %tmp.2, -989855744 ; <int> [#uses=2]
- %tmp.16 = and int %tmp.9, -805306369 ; <int> [#uses=2]
- %tmp.17 = and int %tmp.9, -973078529 ; <int> [#uses=1]
- store int %tmp.17, int* %b_rec.0
- %tmp.17.shrunk = cast int %tmp.16 to uint ; <uint> [#uses=1]
- %tmp.22 = and uint %tmp.17.shrunk, 3221225472 ; <uint> [#uses=1]
- %tmp.23 = seteq uint %tmp.22, 3221225472 ; <bool> [#uses=1]
- br bool %tmp.23, label %endif.0, label %then.0
+ %tmp.2 = load i32* @b_rec.0 ; <i32> [#uses=1]
+ %tmp.9 = or i32 %tmp.2, -989855744 ; <i32> [#uses=2]
+ %tmp.16 = and i32 %tmp.9, -805306369 ; <i32> [#uses=2]
+ %tmp.17 = and i32 %tmp.9, -973078529 ; <i32> [#uses=1]
+ store i32 %tmp.17, i32* @b_rec.0
+ %tmp.17.shrunk = bitcast i32 %tmp.16 to i32 ; <i32> [#uses=1]
+ %tmp.22 = and i32 %tmp.17.shrunk, -1073741824 ; <i32> [#uses=1]
+ %tmp.23 = icmp eq i32 %tmp.22, -1073741824 ; <i1> [#uses=1]
+ br i1 %tmp.23, label %endif.0, label %then.0