d "calla #0" ed000000 0x80001000 (branch (is_zero (var FCX)) nop (seq (branch (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1)))) (seq (set _psw_cdc (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (branch (== (var _psw_cdc) (bv 32 0x7f)) (seq (set CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (set CDC_COUNT (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0))))))))) (set CDC_i (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (bv 32 0x6) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (bv 32 0x5) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (bv 32 0x4) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (bv 32 0x3) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (bv 32 0x2) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (bv 32 0x1) (bv 32 0x0))))))))) (set PSW (| (& (var PSW) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false))) (& (<< (+ (var _psw_cdc) (bv 32 0x1)) (bv 32 0x0) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false)))) (branch (== (var CDC_COUNT) (- (<< (bv 32 0x1) (var CDC_i) false) (bv 32 0x1))) nop nop)) nop)) nop) (set PSW (| (& (var PSW) (bv 32 0xffffff7f)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x7) false))) (set tmp_FCX (var FCX)) (set EA (| (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1c) false) (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false))) (set new_FCX (loadw 0 32 (var EA))) (storew 0 (var EA) (var d15)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d14)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d13)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d12)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a15)) (storew 0 (+ (var EA) (bv 32 0x14)) (var a14)) (storew 0 (+ (var EA) (bv 32 0x18)) (var a13)) (storew 0 (+ (var EA) (bv 32 0x1c)) (var a12)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d11)) (storew 0 (+ (var EA) (bv 32 0x24)) (var d10)) (storew 0 (+ (var EA) (bv 32 0x28)) (var d9)) (storew 0 (+ (var EA) (bv 32 0x2c)) (var d8)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x34)) (var a10)) (storew 0 (+ (var EA) (bv 32 0x38)) (var PSW)) (storew 0 (+ (var EA) (bv 32 0x3c)) (var PCXI)) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (bv 32 0x1) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xfff00000)) (<< (& (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var new_FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set a11 (bv 32 0x80001004)) (branch (== (var new_FCX) (var LCX)) nop (jmp (bv 32 0x0)))))
d "fcall #0x80001000" 61000000 0x80001000 (seq (set EA (- (var a10) (bv 32 0x4))) (storew 0 (var EA) (var a11)) (set a11 (bv 32 0x80001004)) (set a10 (var EA)) (jmp (bv 32 0x80001000)))
d "calli a0" 2d000000 0x80001000 (branch (is_zero (var FCX)) nop (seq (branch (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1)))) (seq (set _psw_cdc (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (branch (== (var _psw_cdc) (bv 32 0x7f)) (seq (set CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (set CDC_COUNT (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0))))))))) (set CDC_i (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (bv 32 0x6) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (bv 32 0x5) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (bv 32 0x4) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (bv 32 0x3) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (bv 32 0x2) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (bv 32 0x1) (bv 32 0x0))))))))) (set PSW (| (& (var PSW) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false))) (& (<< (+ (var _psw_cdc) (bv 32 0x1)) (bv 32 0x0) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false)))) (branch (== (var CDC_COUNT) (- (<< (bv 32 0x1) (var CDC_i) false) (bv 32 0x1))) nop nop)) nop)) nop) (set PSW (| (& (var PSW) (bv 32 0xffffff7f)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x7) false))) (set tmp_FCX (var FCX)) (set EA (| (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1c) false) (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false))) (set new_FCX (loadw 0 32 (var EA))) (storew 0 (var EA) (var d15)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d14)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d13)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d12)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a15)) (storew 0 (+ (var EA) (bv 32 0x14)) (var a14)) (storew 0 (+ (var EA) (bv 32 0x18)) (var a13)) (storew 0 (+ (var EA) (bv 32 0x1c)) (var a12)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d11)) (storew 0 (+ (var EA) (bv 32 0x24)) (var d10)) (storew 0 (+ (var EA) (bv 32 0x28)) (var d9)) (storew 0 (+ (var EA) (bv 32 0x2c)) (var d8)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x34)) (var a10)) (storew 0 (+ (var EA) (bv 32 0x38)) (var PSW)) (storew 0 (+ (var EA) (bv 32 0x3c)) (var PCXI)) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (bv 32 0x1) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xfff00000)) (<< (& (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var new_FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set a11 (bv 32 0x80001004)) (branch (== (var new_FCX) (var LCX)) nop (jmp (var a0)))))
d "call #0" 5c00 0x0 (branch (is_zero (var FCX)) nop (seq (branch (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1)))) (seq (set _psw_cdc (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (branch (== (var _psw_cdc) (bv 32 0x7f)) (seq (set CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (set CDC_COUNT (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0))))))))) (set CDC_i (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (bv 32 0x6) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (bv 32 0x5) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (bv 32 0x4) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (bv 32 0x3) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (bv 32 0x2) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (bv 32 0x1) (bv 32 0x0))))))))) (set PSW (| (& (var PSW) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false))) (& (<< (+ (var _psw_cdc) (bv 32 0x1)) (bv 32 0x0) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false)))) (branch (== (var CDC_COUNT) (- (<< (bv 32 0x1) (var CDC_i) false) (bv 32 0x1))) nop nop)) nop)) nop) (set PSW (| (& (var PSW) (bv 32 0xffffff7f)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x7) false))) (set tmp_FCX (var FCX)) (set EA (| (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1c) false) (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false))) (set new_FCX (loadw 0 32 (var EA))) (storew 0 (var EA) (var d15)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d14)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d13)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d12)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a15)) (storew 0 (+ (var EA) (bv 32 0x14)) (var a14)) (storew 0 (+ (var EA) (bv 32 0x18)) (var a13)) (storew 0 (+ (var EA) (bv 32 0x1c)) (var a12)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d11)) (storew 0 (+ (var EA) (bv 32 0x24)) (var d10)) (storew 0 (+ (var EA) (bv 32 0x28)) (var d9)) (storew 0 (+ (var EA) (bv 32 0x2c)) (var d8)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x34)) (var a10)) (storew 0 (+ (var EA) (bv 32 0x38)) (var PSW)) (storew 0 (+ (var EA) (bv 32 0x3c)) (var PCXI)) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (bv 32 0x1) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xfff00000)) (<< (& (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var new_FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set a11 (bv 32 0x2)) (branch (== (var new_FCX) (var LCX)) nop (jmp (bv 32 0x0)))))
d "call #0" 6d000000 0x0 (branch (is_zero (var FCX)) nop (seq (branch (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1)))) (seq (set _psw_cdc (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (branch (== (var _psw_cdc) (bv 32 0x7f)) (seq (set CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (set CDC_COUNT (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0))))))))) (set CDC_i (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (bv 32 0x6) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (bv 32 0x5) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (bv 32 0x4) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (bv 32 0x3) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (bv 32 0x2) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (bv 32 0x1) (bv 32 0x0))))))))) (set PSW (| (& (var PSW) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false))) (& (<< (+ (var _psw_cdc) (bv 32 0x1)) (bv 32 0x0) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false)))) (branch (== (var CDC_COUNT) (- (<< (bv 32 0x1) (var CDC_i) false) (bv 32 0x1))) nop nop)) nop)) nop) (set PSW (| (& (var PSW) (bv 32 0xffffff7f)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x7) false))) (set tmp_FCX (var FCX)) (set EA (| (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1c) false) (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false))) (set new_FCX (loadw 0 32 (var EA))) (storew 0 (var EA) (var d15)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d14)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d13)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d12)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a15)) (storew 0 (+ (var EA) (bv 32 0x14)) (var a14)) (storew 0 (+ (var EA) (bv 32 0x18)) (var a13)) (storew 0 (+ (var EA) (bv 32 0x1c)) (var a12)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d11)) (storew 0 (+ (var EA) (bv 32 0x24)) (var d10)) (storew 0 (+ (var EA) (bv 32 0x28)) (var d9)) (storew 0 (+ (var EA) (bv 32 0x2c)) (var d8)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x34)) (var a10)) (storew 0 (+ (var EA) (bv 32 0x38)) (var PSW)) (storew 0 (+ (var EA) (bv 32 0x3c)) (var PCXI)) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (bv 32 0x1) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xfff00000)) (<< (& (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var new_FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set a11 (bv 32 0x4)) (branch (== (var new_FCX) (var LCX)) nop (jmp (bv 32 0x0)))))
d "fret" 0070 0x80001000 (seq (set a11_tmp (var a11)) (set EA (var a10)) (set a11 (loadw 0 32 (var EA))) (set a10 (+ (var a10) (bv 32 0x4))) (jmp (& (var a11_tmp) (bv 32 0xfffffffe))))
d "fret" 0d00c000 0x80001000 (seq (set a11_tmp (var a11)) (set EA (var a10)) (set a11 (loadw 0 32 (var EA))) (set a10 (+ (var a10) (bv 32 0x4))) (jmp (& (var a11_tmp) (bv 32 0xfffffffe))))
d "ftohp d0, d0" 4b005102 0x80001000 (branch (is_inf (float 0 (var d0) )) (branch (msb (var d0)) (set d0 (bv 32 0xfc00)) (set d0 (bv 32 0x7c00))) (branch (is_nan (float 0 (var d0) )) (seq (set D_c (| (| (| (& (var d0) (bv 32 0x80000000)) (<< (bv 32 0x1f) (bv 32 0xa) false)) (<< (& (>> (var d0) (bv 32 0x15) false) (bv 32 0x3)) (bv 32 0x8) false)) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))) (set d0 (ite (== (& (>> (var D_c) (bv 32 0x0) false) (bv 32 0x3ff)) (bv 32 0x0)) (| (& (var D_c) (bv 32 0xfffffeff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x8) false)) (var D_c)))) (set d0 (| (& (var d0) (bv 32 0xffff0000)) (<< (& (cast 32 false (fbits (fconvert unk_format rne (let tmp (float 0 (var d0) ) (ite (&& (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x0) )))) (<. (var tmp) (float 0 (bv 32 0x0) ))) (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x800000) )))) (! (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x800000) )))) (|| (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x800000) )))) (<. (var tmp) (float 0 (bv 32 0x800000) ))) (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x800000) )))) (! (|| (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x800000) ))) (|| (<. (var tmp) (float 0 (bv 32 0x800000) )) (<. (float 0 (bv 32 0x800000) ) (var tmp))))))))))) (fneg (float 0 (bv 32 0x0) )) (ite (&& (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x0) )))) (! (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x0) )))) (|| (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x0) )))) (<. (var tmp) (float 0 (bv 32 0x0) ))) (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x0) )))) (! (|| (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x0) ))) (|| (<. (var tmp) (float 0 (bv 32 0x0) )) (<. (float 0 (bv 32 0x0) ) (var tmp)))))))))) (&& (! (|| (is_nan (var tmp)) (is_nan (float 0 (bv 32 0x800000) )))) (<. (var tmp) (float 0 (bv 32 0x800000) )))) (float 0 (bv 32 0x0) ) (var tmp))))))) (bv 32 0xffff)) (bv 32 0x0) false)))))
d "ld.w d0, #0x3c0" 850000f0 0x80001000 (set d0 (loadw 0 32 (bv 32 0x3c0)))
d "ld.a a0, #0" 85000008 0x80001000 (set a0 (loadw 0 32 (bv 32 0x0)))
d "ld.d e0, #0" 85000004 0x80001000 (seq (set temp (loadw 0 64 (bv 32 0x0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ld.da p0, #0" 8500000c 0x80001000 (seq (set temp (loadw 0 64 (bv 32 0x0))) (set a0 (cast 32 false (var temp))) (set a1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ld.w d15, [a15]#0x10" 19ff1000 0x80001000 (seq (set EA (+ (var a15) (bv 32 0x10))) (set d15 (loadw 0 32 (var EA))))
d "ld.a a2, [a1]#0" 09128009 0x80001000 (seq (set EA (+ (var a1) (bv 32 0x0))) (set a2 (loadw 0 32 (var EA))))
d "ld.a a2, [a1+]#0" 09128001 0x80001000 (seq (set EA (var a1)) (set a2 (loadw 0 32 (var EA))) (set a1 (+ (var EA) (bv 32 0x0))))
d "ld.a a2, [+a1]#0" 09128005 0x80001000 (seq (set EA (+ (var a1) (bv 32 0x0))) (set a2 (loadw 0 32 (var EA))) (set a1 (var EA)))
d "ld.a a2, [a1]#-0x31" 09128ff9 0x80001000 (seq (set EA (+ (var a1) (bv 32 0xffffffcf))) (set a2 (loadw 0 32 (var EA))))
d "ld.a a2, [a1+]#-0x31" 09128ff1 0x80001000 (seq (set EA (var a1)) (set a2 (loadw 0 32 (var EA))) (set a1 (+ (var EA) (bv 32 0xffffffcf))))
d "ld.a a2, [+a1]#-0x31" 09128ff5 0x80001000 (seq (set EA (+ (var a1) (bv 32 0xffffffcf))) (set a2 (loadw 0 32 (var EA))) (set a1 (var EA)))
d "ld.a a0, [a0]#0" 99000000 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set a0 (loadw 0 32 (var EA))))
d "ld.a a15, [sp]#0" d800 0x0 (seq (set EA (+ (var a10) (bv 32 0x0))) (set a15 (loadw 0 32 (var EA))))
d "ld.a a0, [a0]" d400 0x0 (seq (set EA (var a0)) (set a0 (loadw 0 32 (var EA))))
d "ld.a a0, [a0+]" c400 0x0 (seq (set EA (var a0)) (set a0 (loadw 0 32 (var EA))) (set a0 (+ (var a0) (bv 32 0x4))))
d "ld.a a0, [a15]#0" c800 0x0 (seq (set EA (+ (var a15) (bv 32 0x0))) (set a0 (loadw 0 32 (var EA))))
d "ld.a a15, [a0]#0" cc00 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set a15 (loadw 0 32 (var EA))))
d "ld.bu d0, [a0]" 1400 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (loadw 0 8 (var EA)))))
d "ld.bu d15, [a0]#0" 0c00 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set a15 (cast 32 false (loadw 0 8 (var EA)))))
d "ld.bu d0, [a15]#0" 0800 0x0 (seq (set EA (+ (var a15) (bv 32 0x0))) (set d0 (cast 32 false (loadw 0 8 (var EA)))))
d "ld.bu d0, [a0+]" 0400 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (loadw 0 8 (var EA)))) (set a0 (+ (var a0) (bv 32 0x1))))
d "ld.bu d0, [a0]#0" 39000000 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (loadw 0 8 (var EA)))))
d "ld.bu d0, [a0+]#0" 09004000 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (loadw 0 8 (var EA)))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ld.bu d0, [p0+r]" 29004000 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (loadw 0 8 (var EA)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ld.bu d0, #0" 05000004 0x0 (seq (set EA (bv 32 0x0)) (set d0 (cast 32 false (loadw 0 8 (var EA)))))
d "ld.bu d0, [+a0]#0" 09004004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (loadw 0 8 (var EA)))) (set a0 (var EA)))
d "ld.bu d0, [p0+c]#0" 29004004 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (loadw 0 8 (var EA)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ld.bu d0, [a0]#0" 09004008 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (loadw 0 8 (var EA)))))
d "ld.d e0, [a0+]#0" 09004001 0x0 (seq (set EA (var a0)) (set temp (loadw 0 64 (var EA))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ld.d e0, [p0+r]" 29004001 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set temp (cast 64 false (loadw 0 64 (var EA)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ld.d e0, #0" 85000004 0x0 (seq (set temp (loadw 0 64 (bv 32 0x0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ld.d e0, [+a0]#0" 09004005 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set temp (loadw 0 64 (var EA))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set a0 (var EA)))
d "ld.d e0, [p0+c]#0" 29004005 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set EA2 (+ (var a1) (mod (+ (var index) (bv 32 0x2)) (var length)))) (set EA4 (+ (var a1) (mod (+ (var index) (bv 32 0x4)) (var length)))) (set EA6 (+ (var a1) (mod (+ (var index) (bv 32 0x6)) (var length)))) (set temp (append (append (loadw 0 16 (var EA6)) (loadw 0 16 (var EA4))) (append (loadw 0 16 (var EA2)) (loadw 0 16 (var EA))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ld.d e0, [a0]#0" 09004009 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set temp (loadw 0 64 (var EA))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ld.da p0, [a0+]#0" 0900c001 0x0 (seq (set EA (var a0)) (set temp (loadw 0 64 (var EA))) (set a0 (cast 32 false (var temp))) (set a1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ld.da p0, [p0+r]" 2900c001 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set temp (loadw 0 64 (var EA))) (set a0 (cast 32 false (var temp))) (set a1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ld.da p0, [+a0]#0" 0900c005 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set temp (loadw 0 64 (var EA))) (set a0 (cast 32 false (var temp))) (set a1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set a0 (var EA)))
d "ld.da p0, [p0+c]#0" 2900c005 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set EA4 (+ (var a1) (mod (+ (var index) (bv 32 0x4)) (var length)))) (set temp (append (loadw 0 32 (var EA4)) (loadw 0 32 (var EA)))) (set a0 (cast 32 false (var temp))) (set a1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ld.da p0, [a0]#0" 0900c009 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set temp (loadw 0 64 (var EA))) (set a0 (cast 32 false (var temp))) (set a1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ld.da p0, #0" 8500000c 0x0 (seq (set temp (loadw 0 64 (bv 32 0x0))) (set a0 (cast 32 false (var temp))) (set a1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ld.h d0, [a0+]" 8400 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))) (set a0 (+ (var a0) (bv 32 0x2))))
d "ld.h d15, [a0]#0" 8c00 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set a15 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))))
d "ld.h d0, [a15]#0" 8800 0x0 (seq (set EA (+ (var a15) (bv 32 0x0))) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))))
d "ld.h d0, [a0]" 9400 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))))
d "ld.h d0, [a0]#0" c9000000 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))))
d "ld.h d0, [a0+]#0" 09008000 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ld.h d0, [p0+r]" 29008000 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ld.h d0, [+a0]#0" 09008004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))) (set a0 (var EA)))
d "ld.h d0, [p0+c]#0" 29008004 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ld.h d0, #0" 05000008 0x0 (seq (set EA (bv 32 0x0)) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))))
d "ld.h d0, [a0]#0" 09008008 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (let _sext_val (cast 32 (msb (loadw 0 16 (var EA))) (loadw 0 16 (var EA))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x10)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x10)) (bv 32 0x0)) false))))))))
d "ld.hu d0, [a0]#0" b9000000 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (loadw 0 16 (var EA)))))
d "ld.hu d0, [a0+]#0" 0900c000 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (loadw 0 16 (var EA)))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ld.hu d0, [p0+r]" 2900c000 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (loadw 0 16 (var EA)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ld.hu d0, [+a0]#0" 0900c004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (loadw 0 16 (var EA)))) (set a0 (var EA)))
d "ld.hu d0, [p0+c]#0" 2900c004 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (loadw 0 16 (var EA)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ld.hu d0, [a0]#0" 0900c008 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (loadw 0 16 (var EA)))))
d "ld.hu d0, #0" 0500000c 0x0 (seq (set EA (bv 32 0x0)) (set d0 (cast 32 false (loadw 0 16 (var EA)))))
d "ld.q d0, #0" 45000000 0x0 (seq (set EA (bv 32 0x0)) (set d0 (cast 32 false (<< (loadw 0 16 (var EA)) (bv 32 0x10) false))))
d "ld.q d0, [a0+]#0" 09000002 0x0 (seq (set EA (var a0)) (set d0 (cast 32 false (<< (loadw 0 16 (var EA)) (bv 32 0x10) false))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ld.q d0, [p0+r]" 29000002 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (<< (loadw 0 16 (var EA)) (bv 32 0x10) false))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ld.q d0, [+a0]#0" 09000006 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (<< (loadw 0 16 (var EA)) (bv 32 0x10) false))) (set a0 (var EA)))
d "ld.q d0, [p0+c]#0" 29000006 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (cast 32 false (<< (loadw 0 16 (var EA)) (bv 32 0x10) false))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ld.q d0, [a0]#0" 0900000a 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (cast 32 false (<< (loadw 0 16 (var EA)) (bv 32 0x10) false))))
d "ld.w d15, [sp]#0" 5800 0x0 (seq (set EA (+ (var d10) (bv 32 0x0))) (set d15 (loadw 0 32 (var EA))))
d "ld.w d0, [a0]" 5400 0x0 (seq (set EA (var a0)) (set d0 (loadw 0 32 (var EA))))
d "ld.w d0, [a0+]" 4400 0x0 (seq (set EA (var a0)) (set d0 (loadw 0 32 (var EA))) (set a0 (+ (var a0) (bv 32 0x4))))
d "ld.w d15, [a0]#0" 4c00 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set a15 (loadw 0 32 (var EA))))
d "ld.w d0, [a15]#0" 4800 0x0 (seq (set EA (+ (var a15) (bv 32 0x0))) (set d0 (loadw 0 32 (var EA))))
d "ld.w d0, [a0]#0" 19000000 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (loadw 0 32 (var EA))))
d "ld.w d0, #0" 85000000 0x0 (set d0 (loadw 0 32 (bv 32 0x0)))
d "ld.w d0, [a0+]#0" 09000001 0x0 (seq (set EA (var a0)) (set d0 (loadw 0 32 (var EA))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ld.w d0, [p0+r]" 29000001 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set d0 (loadw 0 32 (var EA))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ld.w d0, [+a0]#0" 09000005 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (loadw 0 32 (var EA))) (set a0 (var EA)))
d "ld.w d0, [p0+c]#0" 29000005 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set EA4 (+ (var a1) (mod (+ (var index) (bv 32 0x2)) (var length)))) (set d0 (append (loadw 0 16 (var EA4)) (loadw 0 16 (var EA)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ld.w d0, [a0]#0" 09000009 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d0 (loadw 0 32 (var EA))))
d "ldlcx #0" 15000008 0x0 (seq (set EA (bv 32 0x0)) (set d4 (loadw 0 32 (var EA))) (set d5 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d6 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d7 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set a4 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set a5 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a6 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a7 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set d0 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set d1 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d2 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d3 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set a2 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set a3 (loadw 0 32 (+ (var EA) (bv 32 0x34)))))
d "lducx #0" 1500000c 0x0 (seq (set EA (bv 32 0x0)) (set d12 (loadw 0 32 (var EA))) (set d13 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d14 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d15 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set a12 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set a13 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a14 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a15 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set d8 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set d9 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d10 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d11 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set a10 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x34)))))
d "ldlcx [a0]#0" 49000009 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d4 (loadw 0 32 (var EA))) (set d5 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d6 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d7 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set a4 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set a5 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a6 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a7 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set d0 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set d1 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d2 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d3 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set a2 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set a3 (loadw 0 32 (+ (var EA) (bv 32 0x34)))))
d "lducx [a0]#0" 49004009 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set d12 (loadw 0 32 (var EA))) (set d13 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d14 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d15 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set a12 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set a13 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a14 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a15 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set d8 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set d9 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d10 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d11 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set a10 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x34)))))
d "lea a0, #0x3c0" c50000f0 0x0 (seq (set EA (bv 32 0x3c0)) (set a0 (var EA)))
d "lea a0, [a0]#0" d9000000 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set a0 (var EA)))
d "lea a0, [a0]#0" 4900000a 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set a0 (var EA)))
d "lha a0, #0x3c0" c50000f4 0x0 (seq (set EA (bv 32 0xf00000)) (set a0 (var EA)))
d "ldmst [a0+]#0, e0" 49004000 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (| (& (loadw 0 32 (var EA)) (~- (var d1))) (& (var d0) (var d1)))) (set a0 (+ (var EA) (bv 32 0x0))))
d "ldmst [p0+r], e0" 69004000 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (| (& (loadw 0 32 (var EA)) (~- (var d1))) (& (var d0) (var d1)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "ldmst #0, e0" e5000004 0x0 (seq (set EA (bv 32 0x0)) (storew 0 (var EA) (| (& (loadw 0 32 (var EA)) (~- (var d1))) (& (var d0) (var d1)))))
d "ldmst [+a0]#0, e0" 49004004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (| (& (loadw 0 32 (var EA)) (~- (var d1))) (& (var d0) (var d1)))) (set a0 (var EA)))
d "ldmst [p0+c]#0, e0" 69004004 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (| (& (loadw 0 32 (var EA)) (~- (var d1))) (& (var d0) (var d1)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "ldmst [a0]#0, e0" 49004008 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (| (& (loadw 0 32 (var EA)) (~- (var d1))) (& (var d0) (var d1)))))
d "swap.w [a0+]#0, d0" 49000000 0x0 (seq (set EA (var a0)) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (var d0)) (set d0 (var tmp)) (set a0 (+ (var EA) (bv 32 0x0))))
d "swap.w [p0+r], d0" 69000000 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (var d0)) (set d0 (var tmp)) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "swap.w #0, d0" e5000000 0x0 (seq (set EA (bv 32 0x0)) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (var d0)) (set d0 (var tmp)))
d "swap.w [+a0]#0, d0" 49000004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (var d0)) (set d0 (var tmp)) (set a0 (var EA)))
d "swap.w [p0+c]#0, d0" 69000004 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (var d0)) (set d0 (var tmp)) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "swap.w [a0]#0, d0" 49000008 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (var d0)) (set d0 (var tmp)))
d "swap.w [p0+i], d0" 69000008 0
d "lt.a d0, a0, a0" 01002004 0x0 (set d0 (ite (&& (ule (var a0) (var a0)) (! (== (var a0) (var a0)))) (bv 32 0x1) (bv 32 0x0)))
d "ne.a d0, a0, a0" 01001004 0x0 (set d0 (ite (! (== (var a0) (var a0))) (bv 32 0x1) (bv 32 0x0)))
d "nez.a d0, a0" 01009004 0x0 (set d0 (ite (! (== (var a0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0)))
d "ge.a d0, a0, a0" 01003004 0x0 (set d0 (ite (|| (! (ule (var a0) (var a0))) (== (var a0) (var a0))) (bv 32 0x1) (bv 32 0x0)))
d "eq.a d0, a0, a0" 01000004 0x0 (set d0 (ite (== (var a0) (var a0)) (bv 32 0x1) (bv 32 0x0)))
d "eqz.a d0, a0" 01008004 0x0 (set d0 (ite (== (var a0) (bv 32 0x0)) (bv 32 0x1) (bv 32 0x0)))
d "addsc.a a0, a0, d15, #0" 1000 0x0 (set a0 (+ (var a0) (<< (var d15) (bv 32 0x0) false)))
d "addsc.a a0, a0, d15, #1" 5000 0x0 (set a0 (+ (var a0) (<< (var d15) (bv 32 0x1) false)))
d "addsc.a a0, a0, d15, #2" 9000 0x0 (set a0 (+ (var a0) (<< (var d15) (bv 32 0x2) false)))
d "addsc.a a0, a0, d15, #3" d000 0x0 (set a0 (+ (var a0) (<< (var d15) (bv 32 0x3) false)))
d "addsc.a a0, a0, d0, #0" 01000006 0x0 (set a0 (+ (var a0) (<< (var d0) (bv 32 0x0) false)))
d "addsc.at a0, a0, d0" 01002006 0x0 (set a0 (& (+ (var a0) (>> (var d0) (bv 32 0x3) false)) (bv 32 0xfffffffc)))
d "add.a a0, a0" 3000 0x0 (set a0 (+ (var a0) (var a0)))
d "add.a a0, #0" b000 0x0 (set a0 (+ (var a0) (bv 32 0x0)))
d "add.a a0, a0, a0" 01001000 0x0 (set a0 (+ (var a0) (var a0)))
d "sub.a sp, #0" 2000 0x0 (set a10 (- (var a10) (bv 32 0x0)))
d "sub.a a0, a0, a0" 01002000 0x0 (set a0 (- (var a0) (var a0)))
d "mov.a a0, #0" a000 0x0 (set a0 (bv 32 0x0))
d "mov.a a0, d0" 6000 0x0 (set a0 (var d0))
d "mov.a a0, d0" 01003006 0x0 (set a0 (var d0))
d "mov.aa a0, a0" 4000 0x0 (set a0 (var a0))
d "mov.aa a0, a0" 01000000 0x0 (set a0 (var a0))
d "mov.d d0, a0" 8000 0x0 (set d0 (var a0))
d "mov.d d0, a0" 0100c004 0x0 (set d0 (var a0))
d "abs d0, d0" 0b00c001 0x0 (set d0 (let tmp (var d0) (ite (|| (! (sle (var tmp) (bv 32 0x0))) (== (var tmp) (bv 32 0x0))) (var tmp) (- (bv 32 0x0) (var tmp)))))
d "abs.b d0, d0" 0b00c005 0x0 (set d0 (| (cast 32 false (<< (let tmp (cast 8 (msb (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (ite (|| (! (sle (var tmp) (bv 8 0x0))) (== (var tmp) (bv 8 0x0))) (var tmp) (- (bv 8 0x0) (var tmp)))) (bv 32 0x18) false)) (| (cast 32 false (<< (let tmp (cast 8 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (ite (|| (! (sle (var tmp) (bv 8 0x0))) (== (var tmp) (bv 8 0x0))) (var tmp) (- (bv 8 0x0) (var tmp)))) (bv 32 0x10) false)) (| (cast 32 false (<< (let tmp (cast 8 (msb (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (ite (|| (! (sle (var tmp) (bv 8 0x0))) (== (var tmp) (bv 8 0x0))) (var tmp) (- (bv 8 0x0) (var tmp)))) (bv 32 0x8) false)) (cast 32 false (let tmp (cast 8 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (ite (|| (! (sle (var tmp) (bv 8 0x0))) (== (var tmp) (bv 8 0x0))) (var tmp) (- (bv 8 0x0) (var tmp)))))))))
d "abs.h d0, d0" 0b00c007 0x0 (set d0 (| (cast 32 false (<< (let tmp (cast 16 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (ite (|| (! (sle (var tmp) (bv 16 0x0))) (== (var tmp) (bv 16 0x0))) (var tmp) (- (bv 16 0x0) (var tmp)))) (bv 32 0x10) false)) (cast 32 false (let tmp (cast 16 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (ite (|| (! (sle (var tmp) (bv 16 0x0))) (== (var tmp) (bv 16 0x0))) (var tmp) (- (bv 16 0x0) (var tmp)))))))
d "absdif d0, d0, d0" 0b00e000 0x0 (set d0 (let a (var d0) (let b (var d0) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))))
d "absdif d0, d0, #0" 8b00c001 0x0 (set d0 (let a (var d0) (let b (bv 32 0x0) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))))
d "absdif.b d0, d0, d0" 0b00e004 0x0 (set d0 (| (cast 32 false (<< (let a (cast 8 (msb (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (let b (cast 8 (msb (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (bv 32 0x18) false)) (| (cast 32 false (<< (let a (cast 8 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (let b (cast 8 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (bv 32 0x10) false)) (| (cast 32 false (<< (let a (cast 8 (msb (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (let b (cast 8 (msb (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (bv 32 0x8) false)) (cast 32 false (let a (cast 8 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (let b (cast 8 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))))))))
d "absdif.h d0, d0, d0" 0b00e006 0x0 (set d0 (| (cast 32 false (<< (let a (cast 16 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (let b (cast 16 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (bv 32 0x10) false)) (cast 32 false (let a (cast 16 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (let b (cast 16 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))))))
d "absdifs d0, d0, d0" 0b00f000 0x0 (set d0 (let x (let a (var d0) (let b (var d0) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))))
d "absdifs d0, d0, #0" 8b00e001 0x0 (set d0 (let x (let a (var d0) (let b (bv 32 0x0) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))))
d "absdifs.h d0, d0, d0" 0b00f006 0x0 (set d0 (| (cast 32 false (<< (let x (let a (cast 16 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (let b (cast 16 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false) (bv 16 0x1)) (let max_neg (~- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false)) (cast 32 false (let x (let a (cast 16 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (let b (cast 16 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (ite (! (sle (var a) (var b))) (- (var a) (var b)) (- (var b) (var a))))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false) (bv 16 0x1)) (let max_neg (~- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))))))
d "abss d0, d0" 0b00d001 0x0 (set d0 (let x (let tmp (var d0) (ite (|| (! (sle (var tmp) (bv 32 0x0))) (== (var tmp) (bv 32 0x0))) (var tmp) (- (bv 32 0x0) (var tmp)))) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))))
d "abss.h d0, d0" 0b00d007 0x0 (set d0 (| (cast 32 false (<< (let x (let tmp (cast 16 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (ite (|| (! (sle (var tmp) (bv 16 0x0))) (== (var tmp) (bv 16 0x0))) (var tmp) (- (bv 16 0x0) (var tmp)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false) (bv 16 0x1)) (let max_neg (~- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false)) (cast 32 false (let x (let tmp (cast 16 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (ite (|| (! (sle (var tmp) (bv 16 0x0))) (== (var tmp) (bv 16 0x0))) (var tmp) (- (bv 16 0x0) (var tmp)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false) (bv 16 0x1)) (let max_neg (~- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))))))
d "mov d0, d0" 0200 0x0 (set d0 (var d0))
d "mov d0, #0" 8200 0x0 (set d0 (bv 32 0x0))
d "mov e0, #0" d200 0x0 (seq (set temp (bv 64 0x0)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "mov d15, #0" da00 0x0 (set d15 (bv 32 0x0))
d "mov d0, #0" 3b000000 0x0 (set d0 (bv 32 0x0))
d "mov d0, d0" 0b00f001 0x0 (set d0 (var d0))
d "mov e0, #0" fb000000 0x0 (seq (set temp (bv 64 0x0)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "mov e0, d0" 0b000008 0x0 (seq (set temp (let _sext_val (cast 32 (msb (cast 64 false (var d0))) (cast 64 false (var d0))) (>> (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false)) (- (bv 32 0x40) (bv 32 0x20)) (msb (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false)))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "mov e0, d0, d0" 0b001008 0x0 (seq (set temp (append (var d0) (var d0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "movh d0, #0" 7b000000 0x0 (set d0 (<< (bv 32 0x0) (bv 32 0x10) false))
d "movh.a a0, #0" 91000000 0x0 (set a0 (<< (bv 32 0x0) (bv 32 0x10) false))
d "mov.u d0, #0" bb000000 0x0 (set d0 (bv 32 0x0))
d "cmov d0, d15, d0" 2a00 0x0 (set d0 (ite (! (is_zero (var d15))) (var d0) (var d0)))
d "cmov d0, d15, #0" aa00 0x0 (set d0 (ite (! (is_zero (var d15))) (bv 32 0x0) (var d0)))
d "cmovn d0, d15, d0" 6a00 0x0 (set d0 (ite (is_zero (var d15)) (var d0) (var d0)))
d "cmovn d0, d15, #0" ea00 0x0 (set d0 (ite (is_zero (var d15)) (bv 32 0x0) (var d0)))
d "ret" 0090 0x0 (seq (branch (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1)))) (branch (== (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (bv 32 0x7f)) (seq (set CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (set CDC_COUNT (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0))))))))) (set CDC_i (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (bv 32 0x6) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (bv 32 0x5) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (bv 32 0x4) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (bv 32 0x3) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (bv 32 0x2) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (bv 32 0x1) (bv 32 0x0))))))))) (set PSW (| (& (var PSW) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false))) (& (<< (- (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0)))))))) (bv 32 0x1)) (bv 32 0x0) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false)))) (branch (== (var CDC_COUNT) (bv 32 0x0)) nop nop)) nop) nop) (branch (is_zero (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff))) nop nop) (branch (is_zero (& (>> (var PCXI) (bv 32 0x14) false) (bv 32 0x1))) nop nop) (set PC (& (var a11) (bv 32 0xfffffffe))) (set EA (let _pcxi_pcxs (& (>> (var PCXI) (bv 32 0x10) false) (bv 32 0xf)) (let _pcxi_pcxo (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xffff)) (| (<< (var _pcxi_pcxo) (bv 32 0x6) false) (<< (var _pcxi_pcxs) (bv 32 0x1c) false))))) (set new_PCXI (loadw 0 32 (+ (var EA) (bv 32 0x3c)))) (set new_PSW (loadw 0 32 (+ (var EA) (bv 32 0x38)))) (set a10 (loadw 0 32 (+ (var EA) (bv 32 0x34)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set d8 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set d9 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d10 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d11 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set a12 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set a13 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a14 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a15 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set d12 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set d13 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d14 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d15 (loadw 0 32 (+ (var EA) (bv 32 0x0)))) (storew 0 (var EA) (var FCX)) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set PCXI (var new_PCXI)) (set PSW (| (& (>> (var new_PSW) (bv 32 0x1a) false) (bv 32 0x3f)) (| (& (>> (var new_PSW) (bv 32 0x0) false) (bv 32 0xffffff)) (& (>> (var PSW) (bv 32 0x18) false) (bv 32 0x3))))) (jmp (var PC)))
d "ret" 0d008001 0x0 (seq (branch (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1)))) (branch (== (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (bv 32 0x7f)) (seq (set CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f))) (set CDC_COUNT (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0))))))))) (set CDC_i (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (bv 32 0x6) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (bv 32 0x5) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (bv 32 0x4) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (bv 32 0x3) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (bv 32 0x2) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (bv 32 0x1) (bv 32 0x0))))))))) (set PSW (| (& (var PSW) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false))) (& (<< (- (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0)))))))) (bv 32 0x1)) (bv 32 0x0) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var CDC_i)) false) (bv 32 0x0) false)))) (branch (== (var CDC_COUNT) (bv 32 0x0)) nop nop)) nop) nop) (branch (is_zero (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff))) nop nop) (branch (is_zero (& (>> (var PCXI) (bv 32 0x14) false) (bv 32 0x1))) nop nop) (set PC (& (var a11) (bv 32 0xfffffffe))) (set EA (let _pcxi_pcxs (& (>> (var PCXI) (bv 32 0x10) false) (bv 32 0xf)) (let _pcxi_pcxo (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xffff)) (| (<< (var _pcxi_pcxo) (bv 32 0x6) false) (<< (var _pcxi_pcxs) (bv 32 0x1c) false))))) (set new_PCXI (loadw 0 32 (+ (var EA) (bv 32 0x3c)))) (set new_PSW (loadw 0 32 (+ (var EA) (bv 32 0x38)))) (set a10 (loadw 0 32 (+ (var EA) (bv 32 0x34)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set d8 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set d9 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d10 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d11 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set a12 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set a13 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a14 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a15 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set d12 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set d13 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d14 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d15 (loadw 0 32 (+ (var EA) (bv 32 0x0)))) (storew 0 (var EA) (var FCX)) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set PCXI (var new_PCXI)) (set PSW (| (& (>> (var new_PSW) (bv 32 0x1a) false) (bv 32 0x3f)) (| (& (>> (var new_PSW) (bv 32 0x0) false) (bv 32 0xffffff)) (& (>> (var PSW) (bv 32 0x18) false) (bv 32 0x3))))) (jmp (var PC)))
d "rfe" 0080 0x0 (seq (branch (is_zero (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff))) nop nop) (branch (is_zero (& (>> (var PCXI) (bv 32 0x14) false) (bv 32 0x1))) nop nop) (branch (&& (! (|| (== (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (bv 32 0x7f)) (== (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0)))))))) (bv 32 0x0)))) (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1))))) nop nop) (set PC (& (var a11) (bv 32 0xfffffffe))) (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (& (>> (var PCXI) (bv 32 0x15) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x8) false))) (set ICR (| (& (var ICR) (bv 32 0xffffff00)) (<< (& (& (>> (var PCXI) (bv 32 0x16) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x0) false))) (set EA (let _pcxi_pcxs (& (>> (var PCXI) (bv 32 0x10) false) (bv 32 0xf)) (let _pcxi_pcxo (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xffff)) (| (<< (var _pcxi_pcxo) (bv 32 0x6) false) (<< (var _pcxi_pcxs) (bv 32 0x1c) false))))) (set new_PCXI (loadw 0 32 (+ (var EA) (bv 32 0x3c)))) (set PSW (loadw 0 32 (+ (var EA) (bv 32 0x38)))) (set a10 (loadw 0 32 (+ (var EA) (bv 32 0x34)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set d8 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set d9 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d10 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d11 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set a12 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set a13 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a14 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a15 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set d12 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set d13 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d14 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d15 (loadw 0 32 (+ (var EA) (bv 32 0x0)))) (storew 0 (var EA) (var FCX)) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set PCXI (var new_PCXI)) (jmp (var PC)))
d "rfe" 0d00c001 0x0 (seq (branch (is_zero (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff))) nop nop) (branch (is_zero (& (>> (var PCXI) (bv 32 0x14) false) (bv 32 0x1))) nop nop) (branch (&& (! (|| (== (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (bv 32 0x7f)) (== (let CDC (& (>> (var PSW) (bv 32 0x0) false) (bv 32 0x7f)) (ite (== (& (>> (var CDC) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x0)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3f)) (ite (== (& (>> (var CDC) (bv 32 0x5) false) (bv 32 0x3)) (bv 32 0x2)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1f)) (ite (== (& (>> (var CDC) (bv 32 0x4) false) (bv 32 0x7)) (bv 32 0x6)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0xf)) (ite (== (& (>> (var CDC) (bv 32 0x3) false) (bv 32 0xf)) (bv 32 0xe)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x7)) (ite (== (& (>> (var CDC) (bv 32 0x2) false) (bv 32 0x1f)) (bv 32 0x1e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x3)) (ite (== (& (>> (var CDC) (bv 32 0x1) false) (bv 32 0x3f)) (bv 32 0x3e)) (& (>> (var CDC) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0)))))))) (bv 32 0x0)))) (! (is_zero (& (>> (var PSW) (bv 32 0x7) false) (bv 32 0x1))))) nop nop) (set PC (& (var a11) (bv 32 0xfffffffe))) (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (& (>> (var PCXI) (bv 32 0x15) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x8) false))) (set ICR (| (& (var ICR) (bv 32 0xffffff00)) (<< (& (& (>> (var PCXI) (bv 32 0x16) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x0) false))) (set EA (let _pcxi_pcxs (& (>> (var PCXI) (bv 32 0x10) false) (bv 32 0xf)) (let _pcxi_pcxo (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xffff)) (| (<< (var _pcxi_pcxo) (bv 32 0x6) false) (<< (var _pcxi_pcxs) (bv 32 0x1c) false))))) (set new_PCXI (loadw 0 32 (+ (var EA) (bv 32 0x3c)))) (set PSW (loadw 0 32 (+ (var EA) (bv 32 0x38)))) (set a10 (loadw 0 32 (+ (var EA) (bv 32 0x34)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set d8 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set d9 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d10 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d11 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set a12 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set a13 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a14 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a15 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set d12 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set d13 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d14 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d15 (loadw 0 32 (+ (var EA) (bv 32 0x0)))) (storew 0 (var EA) (var FCX)) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set PCXI (var new_PCXI)) (jmp (var PC)))
d "rfm" 0d004001 0x0 (seq (branch (! (== (& (>> (var PSW) (bv 32 0xa) false) (bv 32 0x3)) (bv 32 0x2))) nop nop) (branch (! (is_zero (& (>> (var DBGSR) (bv 32 0x0) false) (bv 32 0x1)))) (seq (set PC (& (var a11) (bv 32 0xfffffffe))) (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (& (>> (var PCXI) (bv 32 0x15) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x8) false))) (set ICR (| (& (var ICR) (bv 32 0xffffff00)) (<< (& (& (>> (var PCXI) (bv 32 0x16) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x0) false))) (set EA (var DCX)) (set PCXI (loadw 0 32 (+ (var EA) (bv 32 0x3)))) (set PSW (loadw 0 32 (+ (var EA) (bv 32 0x2)))) (set a10 (loadw 0 32 (+ (var EA) (bv 32 0x1)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x0)))) (set DBGTCR (| (& (var DBGTCR) (bv 32 0xfffffffe)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x0) false)))) nop))
d "add d0, d15, d0" 1200 0x0 (seq (set result (+ (var d15) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add d0, d15, #0" 9200 0x0 (seq (set result (+ (var d15) (bv 32 0x0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add d15, d0, d0" 1a00 0x0 (seq (set result (+ (var d0) (var d0))) (set d15 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add d0, d0" 4200 0x0 (seq (set result (+ (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add d15, d0, #0" 9a00 0x0 (seq (set result (+ (var d0) (bv 32 0x0))) (set d15 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add d0, #0" c200 0x0 (seq (set result (+ (var d0) (bv 32 0x0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add d0, d0, d0" 0b000000 0x0 (seq (set result (+ (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add d0, d0, #0" 8b000000 0x0 (seq (set result (+ (var d0) (bv 32 0x0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add.a a0, a0" 3000 0x0 (set a0 (+ (var a0) (var a0)))
d "add.a a0, #0" b000 0x0 (set a0 (+ (var a0) (bv 32 0x0)))
d "add.a a0, a0, a0" 01001000 0x0 (set a0 (+ (var a0) (var a0)))
d "add.b d0, d0, d0" 0b000004 0x0 (seq (set result_byte3 (+ (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))))) (set result_byte2 (+ (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))))) (set result_byte1 (+ (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))))) (set result_byte0 (+ (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)) (set ov3 (|| (! (ule (var result_byte3) (bv 8 0x7f))) (&& (sle (var result_byte3) (bv 8 0x80)) (! (== (var result_byte3) (bv 8 0x80)))))) (set ov2 (|| (! (ule (var result_byte2) (bv 8 0x7f))) (&& (sle (var result_byte2) (bv 8 0x80)) (! (== (var result_byte2) (bv 8 0x80)))))) (set ov1 (|| (! (ule (var result_byte1) (bv 8 0x7f))) (&& (sle (var result_byte1) (bv 8 0x80)) (! (== (var result_byte1) (bv 8 0x80)))))) (set ov0 (|| (! (ule (var result_byte0) (bv 8 0x7f))) (&& (sle (var result_byte0) (bv 8 0x80)) (! (== (var result_byte0) (bv 8 0x80)))))) (set overflow (|| (|| (var ov1) (var ov0)) (|| (var ov3) (var ov2)))) (set aov3 (^^ (! (is_zero (& (>> (var result_byte3) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte3) (bv 8 0x6) false) (bv 8 0x1)))))) (set aov2 (^^ (! (is_zero (& (>> (var result_byte2) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte2) (bv 8 0x6) false) (bv 8 0x1)))))) (set aov1 (^^ (! (is_zero (& (>> (var result_byte1) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte1) (bv 8 0x6) false) (bv 8 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_byte0) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte0) (bv 8 0x6) false) (bv 8 0x1)))))) (set advanced_overflow (|| (|| (var aov1) (var aov0)) (|| (var aov3) (var aov2)))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "add.h d0, d0, d0" 0b000006 0x0 (seq (set result_hw1 (+ (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))))) (set result_hw0 (+ (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)) (set ov1 (|| (! (ule (var result_hw1) (bv 16 0x7fff))) (&& (sle (var result_hw1) (bv 16 0x8000)) (! (== (var result_hw1) (bv 16 0x8000)))))) (set ov0 (|| (! (ule (var result_hw0) (bv 16 0x7fff))) (&& (sle (var result_hw0) (bv 16 0x8000)) (! (== (var result_hw0) (bv 16 0x8000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_hw1) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw1) (bv 16 0xe) false) (bv 16 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_hw0) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw0) (bv 16 0xe) false) (bv 16 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "addc d0, d0, d0" 0b005000 0x0 (seq (set result (+ (var d0) (+ (var d0) (& (>> (var PSW) (bv 32 0x1f) false) (bv 32 0x1))))) (set d0 (var result)) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (& (>> (+ (+ (var d0) (var d0)) (& (>> (var PSW) (bv 32 0x1f) false) (bv 32 0x1))) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x1f) false))))
d "addc d0, d0, #0" 8b00a000 0x0 (seq (set result (+ (var d0) (+ (bv 32 0x0) (& (>> (var PSW) (bv 32 0x1f) false) (bv 32 0x1))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (& (>> (+ (+ (var d0) (bv 32 0x0)) (& (>> (var PSW) (bv 32 0x1f) false) (bv 32 0x1))) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x1f) false))))
d "addi d0, d0, #0" 1b000000 0x0 (set d0 (+ (var d0) (bv 32 0x0)))
d "addih d0, d0, #0" 9b000000 0x0 (set d0 (+ (var d0) (<< (bv 32 0x0) (bv 32 0x10) false)))
d "addih.a a0, a0, #0" 11000000 0x0 (set a0 (+ (var a0) (<< (bv 32 0x0) (bv 32 0x10) false)))
d "adds d0, d0" 2200 0x0 (seq (set result (let x (+ (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "adds d0, d0, d0" 0b002000 0x0 (seq (set result (let x (+ (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "adds d0, d0, #0" 8b004000 0x0 (seq (set result (let x (+ (var d0) (bv 32 0x0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "adds.h d0, d0, d0" 0b002006 0x0 (seq (set result_hw1 (let x (+ (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (var y) false) (bv 16 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 16 0x0)) (! (== (var x) (bv 16 0x0)))) (bv 16 0x0) (var x))))))) (set result_hw0 (let x (+ (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (var y) false) (bv 16 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 16 0x0)) (! (== (var x) (bv 16 0x0)))) (bv 16 0x0) (var x))))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)) (set ov1 (|| (! (ule (var result_hw1) (bv 16 0x7fff))) (&& (sle (var result_hw1) (bv 16 0x8000)) (! (== (var result_hw1) (bv 16 0x8000)))))) (set ov0 (|| (! (ule (var result_hw0) (bv 16 0x7fff))) (&& (sle (var result_hw0) (bv 16 0x8000)) (! (== (var result_hw0) (bv 16 0x8000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_hw1) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw1) (bv 16 0xe) false) (bv 16 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_hw0) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw0) (bv 16 0xe) false) (bv 16 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "adds.hu d0, d0, d0" 0b003006 0x0 (seq (set result_hw1 (let x (+ (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (var y) false) (bv 16 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 16 0x0)) (! (== (var x) (bv 16 0x0)))) (bv 16 0x0) (var x))))))) (set result_hw0 (let x (+ (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (var y) false) (bv 16 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 16 0x0)) (! (== (var x) (bv 16 0x0)))) (bv 16 0x0) (var x))))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)) (set ov1 (|| (! (ule (var result_hw1) (bv 16 0x7fff))) (&& (sle (var result_hw1) (bv 16 0x8000)) (! (== (var result_hw1) (bv 16 0x8000)))))) (set ov0 (|| (! (ule (var result_hw0) (bv 16 0x7fff))) (&& (sle (var result_hw0) (bv 16 0x8000)) (! (== (var result_hw0) (bv 16 0x8000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_hw1) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw1) (bv 16 0xe) false) (bv 16 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_hw0) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw0) (bv 16 0xe) false) (bv 16 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "adds.u d0, d0, d0" 0b003000 0x0 (seq (set result (let x (+ (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "adds.u d0, d0, #0" 8b006000 0x0 (seq (set result (let x (+ (var d0) (bv 32 0x0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "addsc.a a0, a0, d15, #0" 1000 0x0 (set a0 (+ (var a0) (<< (var d15) (bv 32 0x0) false)))
d "addsc.a a0, a0, d0, #0" 01000006 0x0 (set a0 (+ (var a0) (<< (var d0) (bv 32 0x0) false)))
d "addsc.at a0, a0, d0" 01002006 0x0 (set a0 (& (+ (var a0) (>> (var d0) (bv 32 0x3) false)) (bv 32 0xfffffffc)))
d "addx d0, d0, d0" 0b004000 0x0 (seq (set result (+ (var d0) (+ (var d0) (bv 32 0x0)))) (set d0 (var result)) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (& (>> (+ (+ (var d0) (var d0)) (bv 32 0x0)) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x1f) false))))
d "addx d0, d0, #0" 8b008000 0x0 (seq (set result (+ (var d0) (+ (bv 32 0x0) (bv 32 0x0)))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (& (>> (+ (+ (var d0) (bv 32 0x0)) (bv 32 0x0)) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x1f) false))))
d "cadd d0, d15, #0" 8a00 0x0 (seq (set condition (! (is_zero (var d15)))) (set result (ite (var condition) (+ (var d0) (bv 32 0x0)) (var d0))) (set d0 (var result)) (set overflow (|| (! (sle (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0xfb3b4c00)) (! (== (var result) (bv 32 0xfb3b4c00)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) nop) (branch (&& (var condition) (var overflow)) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) nop) (branch (&& (var condition) (var advanced_overflow)) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "cadd d0, d0, d0, d0" 2b000000 0x0 (seq (set condition (! (is_zero (var d0)))) (set result (ite (var condition) (+ (var d0) (var d0)) (var d0))) (set d0 (var result)) (set overflow (|| (! (sle (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0xfb3b4c00)) (! (== (var result) (bv 32 0xfb3b4c00)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) nop) (branch (&& (var condition) (var overflow)) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) nop) (branch (&& (var condition) (var advanced_overflow)) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "cadd d0, d0, d0, #0" ab000000 0x0 (seq (set condition (! (is_zero (var d0)))) (set result (ite (var condition) (+ (var d0) (bv 32 0x0)) (var d0))) (set d0 (var result)) (set overflow (|| (! (sle (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0xfb3b4c00)) (! (== (var result) (bv 32 0xfb3b4c00)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) nop) (branch (&& (var condition) (var overflow)) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) nop) (branch (&& (var condition) (var advanced_overflow)) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "caddn d0, d15, #0" ca00 0x0 (seq (set condition (is_zero (var d15))) (set result (ite (var condition) (+ (var d0) (bv 32 0x0)) (var d0))) (set d0 (var result)) (set overflow (|| (! (sle (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0xfb3b4c00)) (! (== (var result) (bv 32 0xfb3b4c00)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) nop) (branch (&& (var condition) (var overflow)) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) nop) (branch (&& (var condition) (var advanced_overflow)) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "caddn d0, d0, d0, d0" 2b001000 0x0 (seq (set condition (! (is_zero (var d0)))) (set result (ite (var condition) (+ (var d0) (var d0)) (var d0))) (set d0 (var result)) (set overflow (|| (! (sle (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0xfb3b4c00)) (! (== (var result) (bv 32 0xfb3b4c00)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) nop) (branch (&& (var condition) (var overflow)) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) nop) (branch (&& (var condition) (var advanced_overflow)) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "caddn d0, d0, d0, #0" ab002000 0x0 (seq (set condition (is_zero (var d0))) (set result (ite (var condition) (+ (var d0) (bv 32 0x0)) (var d0))) (set d0 (var result)) (set overflow (|| (! (sle (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0xfb3b4c00)) (! (== (var result) (bv 32 0xfb3b4c00)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) nop) (branch (&& (var condition) (var overflow)) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))))) (branch (var condition) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) nop) (branch (&& (var condition) (var advanced_overflow)) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "lt d15, d0, d0" 7a00 0x0 (set d15 (ite (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)))
d "lt d15, d0, #0" fa00 0x0 (set d15 (ite (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)))
d "lt d0, d0, d0" 0b002001 0x0 (set d0 (ite (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)))
d "lt d0, d0, #0" 8b004002 0x0 (set d0 (ite (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)))
d "lt.a d0, a0, a0" 01002004 0x0 (set d0 (ite (&& (ule (var a0) (var a0)) (! (== (var a0) (var a0)))) (bv 32 0x1) (bv 32 0x0)))
d "lt.b d0, d0, d0" 0b002005 0x0 (seq (set result_byte3 (ite (&& (sle (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result_byte2 (ite (&& (sle (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result_byte1 (ite (&& (sle (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result_byte0 (ite (&& (sle (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)))
d "lt.bu d0, d0, d0" 0b003005 0x0 (seq (set result_byte3 (ite (&& (ule (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result_byte2 (ite (&& (ule (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result_byte1 (ite (&& (ule (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result_byte0 (ite (&& (ule (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))) (! (== (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))))) (bv 32 0xff) (bv 32 0x0))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)))
d "lt.h d0, d0, d0" 0b002007 0x0 (seq (set result_hw1 (ite (&& (sle (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (! (== (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))))) (bv 32 0xffff) (bv 32 0x0))) (set result_hw0 (ite (&& (sle (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (! (== (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))))) (bv 32 0xffff) (bv 32 0x0))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)))
d "lt.hu d0, d0, d0" 0b003007 0x0 (seq (set result_hw1 (ite (&& (ule (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (! (== (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))))) (bv 32 0xffff) (bv 32 0x0))) (set result_hw0 (ite (&& (ule (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (! (== (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))))) (bv 32 0xffff) (bv 32 0x0))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)))
d "lt.u d0, d0, d0" 0b003001 0x0 (set d0 (ite (&& (ule (var d0) (var d0)) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)))
d "lt.u d0, d0, #0" 8b006002 0x0 (set d0 (ite (&& (ule (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)))
d "lt.w d0, d0, d0" 0b002009 0x0 (set d0 (ite (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0)))) (bv 32 0xffffffff) (bv 32 0x0)))
d "lt.wu d0, d0, d0" 0b003009 0x0 (set d0 (ite (&& (ule (var d0) (var d0)) (! (== (var d0) (var d0)))) (bv 32 0xffffffff) (bv 32 0x0)))
d "ge d0, d0, d0" 0b004001 0x0 (set d0 (ite (|| (! (sle (var d0) (var d0))) (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0)))
d "ge d0, d0, #0" 8b008002 0x0 (set d0 (ite (|| (! (sle (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0)))
d "ge.u d0, d0, d0" 0b005001 0x0 (set d0 (ite (|| (! (ule (var d0) (var d0))) (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0)))
d "ge.u d0, d0, #0" 8b00a002 0x0 (set d0 (ite (|| (! (ule (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0)))
d "eq d15, d0, d0" 3a00 0x0 (set d15 (ite (== (var d0) (var d0)) (bv 32 0x1) (bv 32 0x0)))
d "eq d15, d0, #0" ba00 0x0 (set d15 (ite (== (var d0) (bv 32 0x0)) (bv 32 0x1) (bv 32 0x0)))
d "eq d0, d0, d0" 0b000001 0x0 (set d0 (ite (== (var d0) (var d0)) (bv 32 0x1) (bv 32 0x0)))
d "eq d0, d0, #0" 8b000002 0x0 (set d0 (ite (== (var d0) (bv 32 0x0)) (bv 32 0x1) (bv 32 0x0)))
d "ne d0, d0, d0" 0b001001 0x0 (set d0 (ite (! (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0)))
d "ne d0, d0, #0" 8b002002 0x0 (set d0 (ite (! (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0)))
d "eq.b d0, d0, d0" 0b000005 0x0 (seq (set result_byte3 (ite (== (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)))) (bv 32 0xff) (bv 32 0x0))) (set result_byte2 (ite (== (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)))) (bv 32 0xff) (bv 32 0x0))) (set result_byte1 (ite (== (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))) (bv 32 0xff) (bv 32 0x0))) (set result_byte0 (ite (== (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))) (bv 32 0xff) (bv 32 0x0))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)))
d "eq.h d0, d0, d0" 0b000007 0x0 (seq (set result_hw1 (ite (== (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (bv 32 0xffff) (bv 32 0x0))) (set result_hw0 (ite (== (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0xffff) (bv 32 0x0))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)))
d "eq.w d0, d0, d0" 0b000009 0x0 (seq (set result (ite (== (var d0) (var d0)) (bv 32 0x0) (bv 32 0x0))) (set d0 (var result)))
d "eqany.b d0, d0, d0" 0b006005 0x0 (set d0 (ite (|| (|| (== (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)))) (== (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))))) (|| (== (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))) (== (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))))) (bv 32 0x1) (bv 32 0x0)))
d "eqany.b d0, d0, #0" 8b00c00a 0x0 (set d0 (ite (|| (|| (== (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (bv 32 0x0) (bv 32 0x18) false) (bv 32 0xff)))) (== (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (bv 32 0x0) (bv 32 0x10) false) (bv 32 0xff))))) (|| (== (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (bv 32 0x0) (bv 32 0x8) false) (bv 32 0xff)))) (== (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (bv 32 0x0) (bv 32 0x0) false) (bv 32 0xff)))))) (bv 32 0x1) (bv 32 0x0)))
d "eqany.h d0, d0, d0" 0b006007 0x0 (set d0 (ite (|| (== (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (== (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))))) (bv 32 0x1) (bv 32 0x0)))
d "eqany.h d0, d0, #0" 8b00c00e 0x0 (set d0 (ite (|| (== (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (bv 32 0x0) (bv 32 0x10) false) (bv 32 0xffff)))) (== (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (bv 32 0x0) (bv 32 0x0) false) (bv 32 0xffff))))) (bv 32 0x1) (bv 32 0x0)))
d "and.eq d0, d0, d0" 0b000002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.eq d0, d0, #0" 8b000004 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.ge d0, d0, d0" 0b004002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (sle (var d0) (var d0))) (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.ge d0, d0, #0" 8b008004 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (sle (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.ge.u d0, d0, d0" 0b005002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (ule (var d0) (var d0))) (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.ge.u d0, d0, #0" 8b00a004 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (ule (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.lt d0, d0, d0" 0b002002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.lt d0, d0, #0" 8b004004 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.lt.u d0, d0, d0" 0b003002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (ule (var d0) (var d0)) (! (== (var d0) (var d0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.lt.u d0, d0, #0" 8b006004 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (ule (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.ne d0, d0, d0" 0b001002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.ne d0, d0, #0" 8b002004 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.eq d0, d0, d0" 0b007002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.eq d0, d0, #0" 8b00e004 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.ge d0, d0, d0" 0b00b002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (sle (var d0) (var d0))) (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.ge d0, d0, #0" 8b006005 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (sle (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.ge.u d0, d0, d0" 0b00c002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (ule (var d0) (var d0))) (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.ge.u d0, d0, #0" 8b008005 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (ule (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.lt d0, d0, d0" 0b009002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.lt d0, d0, #0" 8b002005 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.lt.u d0, d0, d0" 0b00a002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (ule (var d0) (var d0)) (! (== (var d0) (var d0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.lt.u d0, d0, #0" 8b004005 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (ule (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.ne d0, d0, d0" 0b008002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.ne d0, d0, #0" 8b000005 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.eq d0, d0, d0" 0b00f002 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.eq d0, d0, #0" 8b00e005 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.ge d0, d0, d0" 0b003003 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (sle (var d0) (var d0))) (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.ge d0, d0, #0" 8b006006 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (sle (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.ge.u d0, d0, d0" 0b004003 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (ule (var d0) (var d0))) (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.ge.u d0, d0, #0" 8b008006 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (ule (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.lt d0, d0, d0" 0b001003 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.lt d0, d0, #0" 8b002006 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.lt.u d0, d0, d0" 0b002003 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (ule (var d0) (var d0)) (! (== (var d0) (var d0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.lt.u d0, d0, #0" 8b004006 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (ule (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.ne d0, d0, d0" 0b000003 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "xor.ne d0, d0, #0" 8b000006 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "sh.eq d0, d0, d0" 0b007003 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (== (var d0) (var d0)) (bv 32 0x1) (bv 32 0x0))))
d "sh.eq d0, d0, #0" 8b00e006 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (== (var d0) (bv 32 0x0)) (bv 32 0x1) (bv 32 0x0))))
d "sh.ge d0, d0, d0" 0b00b003 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (|| (! (sle (var d0) (var d0))) (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0))))
d "sh.ge d0, d0, #0" 8b006007 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (|| (! (sle (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0))))
d "sh.ge.u d0, d0, d0" 0b00c003 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (|| (! (ule (var d0) (var d0))) (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0))))
d "sh.ge.u d0, d0, #0" 8b008007 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (|| (! (ule (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0))))
d "sh.lt d0, d0, d0" 0b009003 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0))))
d "sh.lt d0, d0, #0" 8b002007 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0))))
d "sh.lt.u d0, d0, d0" 0b00a003 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (&& (ule (var d0) (var d0)) (! (== (var d0) (var d0)))) (bv 32 0x1) (bv 32 0x0))))
d "sh.lt.u d0, d0, #0" 8b004007 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (&& (ule (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (bv 32 0x1) (bv 32 0x0))))
d "sh.ne d0, d0, d0" 0b008003 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (! (== (var d0) (var d0))) (bv 32 0x1) (bv 32 0x0))))
d "sh.ne d0, d0, #0" 8b000007 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (! (== (var d0) (bv 32 0x0))) (bv 32 0x1) (bv 32 0x0))))
d "min d0, d0, d0" 0b008001 0x0 (set d0 (ite (&& (sle (var d0) (var d0)) (! (== (var d0) (var d0)))) (var d0) (var d0)))
d "min d0, d0, #0" 8b000003 0x0 (set d0 (ite (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (var d0) (bv 32 0x0)))
d "min.b d0, d0, d0" 0b008005 0x0 (seq (set result_byte3 (let a (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (ite (&& (sle (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_byte2 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (ite (&& (sle (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_byte1 (let a (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (ite (&& (sle (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_byte0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (ite (&& (sle (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)))
d "min.bu d0, d0, d0" 0b009005 0x0 (seq (set result_byte3 (let a (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (ite (&& (ule (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_byte2 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (ite (&& (ule (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_byte1 (let a (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (ite (&& (ule (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_byte0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (ite (&& (ule (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)))
d "min.h d0, d0, d0" 0b008007 0x0 (seq (set result_hw1 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (&& (sle (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_hw0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (&& (sle (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)))
d "min.hu d0, d0, d0" 0b009007 0x0 (seq (set result_hw1 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (&& (ule (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result_hw0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (&& (ule (var a) (var b)) (! (== (var a) (var b)))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)))
d "min.u d0, d0, d0" 0b009001 0x0 (set d0 (ite (&& (ule (var d0) (var d0)) (! (== (var d0) (var d0)))) (var d0) (var d0)))
d "min.u d0, d0, #0" 8b002003 0x0 (set d0 (ite (&& (ule (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (var d0) (bv 32 0x0)))
d "max d0, d0, d0" 0b00a001 0x0 (set d0 (ite (! (sle (var d0) (var d0))) (var d0) (var d0)))
d "max d0, d0, #0" 8b004003 0x0 (set d0 (ite (! (sle (var d0) (bv 32 0x0))) (var d0) (bv 32 0x0)))
d "max.b d0, d0, d0" 0b00a005 0x0 (seq (set result_byte3 (let a (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (ite (! (sle (var a) (var b))) (var a) (var b))))) (set result_byte2 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (ite (! (sle (var a) (var b))) (var a) (var b))))) (set result_byte1 (let a (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (ite (! (sle (var a) (var b))) (var a) (var b))))) (set result_byte0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (ite (! (sle (var a) (var b))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)))
d "max.bu d0, d0, d0" 0b00b005 0x0 (seq (set result_byte3 (let a (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (ite (! (ule (var a) (var b))) (var a) (var b))))) (set result_byte2 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (ite (! (ule (var a) (var b))) (var a) (var b))))) (set result_byte1 (let a (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (ite (! (ule (var a) (var b))) (var a) (var b))))) (set result_byte0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (ite (! (ule (var a) (var b))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)))
d "max.h d0, d0, d0" 0b00a007 0x0 (seq (set result_hw1 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (! (sle (var a) (var b))) (var a) (var b))))) (set result_hw0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (! (sle (var a) (var b))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)))
d "max.hu d0, d0, d0" 0b00b007 0x0 (seq (set result_hw1 (let a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (! (ule (var a) (var b))) (var a) (var b))))) (set result_hw0 (let a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (let b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (! (ule (var a) (var b))) (var a) (var b))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)))
d "max.u d0, d0, d0" 0b00b001 0x0 (set d0 (ite (! (ule (var d0) (var d0))) (var d0) (var d0)))
d "max.u d0, d0, #0" 8b006003 0x0 (set d0 (ite (! (ule (var d0) (bv 32 0x0))) (var d0) (bv 32 0x0)))
d "and d0, d0" 2600 0x0 (set d0 (& (var d0) (var d0)))
d "and d15, #0" 1600 0x0 (set d15 (& (var d15) (bv 32 0x0)))
d "and d0, d0, d0" 0f008000 0x0 (set d0 (& (var d0) (var d0)))
d "and d0, d0, #0" 8f000001 0x0 (set d0 (& (var d0) (bv 32 0x0)))
d "andn d0, d0, d0" 0f00e000 0x0 (set d0 (& (var d0) (~ (var d0))))
d "andn d0, d0, #0" 8f00c001 0x0 (set d0 (& (var d0) (~ (bv 32 0x0))))
d "nand d0, d0, d0" 0f009000 0x0 (set d0 (~ (& (var d0) (var d0))))
d "nand d0, d0, #0" 8f002001 0x0 (set d0 (~ (& (var d0) (bv 32 0x0))))
d "nor d0, d0, d0" 0f00b000 0x0 (set d0 (~ (| (var d0) (var d0))))
d "nor d0, d0, #0" 8f006001 0x0 (set d0 (~ (| (var d0) (bv 32 0x0))))
d "not d0" 4600 0x0 (set d0 (~ (var d0)))
d "or d0, d0" a600 0x0 (set d0 (| (var d0) (var d0)))
d "or d15, #0" 9600 0x0 (set d15 (| (var d15) (bv 32 0x0)))
d "or d0, d0, d0" 0f00a000 0x0 (set d0 (| (var d0) (var d0)))
d "or d0, d0, #0" 8f004001 0x0 (set d0 (| (var d0) (bv 32 0x0)))
d "orn d0, d0, d0" 0f00f000 0x0 (set d0 (| (var d0) (~ (var d0))))
d "orn d0, d0, #0" 8f00e001 0x0 (set d0 (| (var d0) (~ (bv 32 0x0))))
d "xnor d0, d0, d0" 0f00d000 0x0 (set d0 (~ (^ (var d0) (var d0))))
d "xnor d0, d0, #0" 8f00a001 0x0 (set d0 (~ (^ (var d0) (bv 32 0x0))))
d "xor d0, d0" c600 0x0 (set d0 (^ (var d0) (var d0)))
d "xor d0, d0, d0" 0f00c000 0x0 (set d0 (^ (var d0) (var d0)))
d "xor d0, d0, #0" 8f008001 0x0 (set d0 (^ (var d0) (bv 32 0x0)))
d "and.and.t d0, d0, #0, d0, #0" 47000000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.andn.t d0, d0, #0, d0, #0" 47006000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.nor.t d0, d0, #0, d0, #0" 47004000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.or.t d0, d0, #0, d0, #0" 47002000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "and.t d0, d0, #0, d0, #0" 87000000 0x0 (set d0 (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))) (bv 32 0x1) (bv 32 0x0)))
d "andn.t d0, d0, #0, d0, #0" 87006000 0x0 (set d0 (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)))
d "nand.t d0, d0, #0, d0, #0" 07000000 0x0 (set d0 (ite (! (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)))
d "nor.t d0, d0, #0, d0, #0" 87004000 0x0 (set d0 (ite (! (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)))
d "or.and.t d0, d0, #0, d0, #0" c7000000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.andn.t d0, d0, #0, d0, #0" c7006000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.nor.t d0, d0, #0, d0, #0" c7004000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.or.t d0, d0, #0, d0, #0" c7002000 0x0 (set d0 (| (& (var d0) (bv 32 0xfffffffe)) (<< (& (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x0) false)))
d "or.t d0, d0, #0, d0, #0" 87002000 0x0 (set d0 (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))) (bv 32 0x1) (bv 32 0x0)))
d "orn.t d0, d0, #0, d0, #0" 07002000 0x0 (set d0 (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)))
d "orn.t d0, d0, #0, d0, #0" 07002000 0x0 (set d0 (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)))
d "sh.and.t d0, d0, #0, d0, #0" 27000000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))) (bv 32 0x1) (bv 32 0x0))))
d "sh.andn.t d0, d0, #0, d0, #0" 27006000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0))))
d "sh.nand.t d0, d0, #0, d0, #0" a7000000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (! (&& (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0))))
d "sh.nor.t d0, d0, #0, d0, #0" 27004000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (! (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0))))
d "sh.or.t d0, d0, #0, d0, #0" 27002000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))) (bv 32 0x1) (bv 32 0x0))))
d "sh.orn.t d0, d0, #0, d0, #0" a7002000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (|| (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0))))
d "sh.xnor.t d0, d0, #0, d0, #0" a7004000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (! (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0))))
d "sh.xor.t d0, d0, #0, d0, #0" a7006000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x3fffffff)) (bv 32 0x1) false) (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))) (bv 32 0x1) (bv 32 0x0))))
d "xnor.t d0, d0, #0, d0, #0" 07004000 0x0 (set d0 (ite (! (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))))) (bv 32 0x1) (bv 32 0x0)))
d "xor.t d0, d0, #0, d0, #0" 07006000 0x0 (set d0 (ite (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))) (bv 32 0x1) (bv 32 0x0)))
d "ins.t d0, d0, #0, d0, #0" 67000000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x1) false) (bv 32 0x7fffffff)) (bv 32 0x1) false) (| (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x0)) (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0) false))))
d "insn.t d0, d0, #0, d0, #0" 67002000 0x0 (set d0 (| (<< (& (>> (var d0) (bv 32 0x1) false) (bv 32 0x7fffffff)) (bv 32 0x1) false) (| (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x0)) (~ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0) false)))))
d "pack d0, e0, d0" 6b000000 0x0 (seq (set int_exp (var d1)) (set int_mant (var d0)) (set flag_rnd (&& (! (is_zero (& (>> (var int_mant) (bv 32 0x7) false) (bv 32 0x1)))) (|| (! (is_zero (& (>> (var int_mant) (bv 32 0x8) false) (bv 32 0x1)))) (|| (! (is_zero (& (>> (var int_mant) (bv 32 0x0) false) (bv 32 0x7f)))) (! (is_zero (& (>> (var PSW) (bv 32 0x1f) false) (bv 32 0x1)))))))) (set fp_exp (ite (|| (&& (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1))) (== (bv 32 0xff) (var int_exp))) (&& (! (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1)))) (|| (! (sle (var int_exp) (bv 32 0x7f))) (== (var int_exp) (bv 32 0x7f))))) (bv 32 0xff) (ite (|| (&& (! (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1)))) (sle (var int_exp) (bv 32 0xffffff80))) (== (var int_mant) (bv 32 0x0))) (bv 32 0x0) (let temp_exp (ite (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1))) (bv 32 0x0) (+ (var int_exp) (bv 32 0x80))) (let fp_exp_frac (+ (| (<< (& (>> (var temp_exp) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0x17) false) (& (>> (var int_mant) (bv 32 0x8) false) (bv 32 0x7fffff))) (ite (var flag_rnd) (bv 32 0x1) (bv 32 0x0))) (& (>> (var fp_exp_frac) (bv 32 0x17) false) (bv 32 0xff))))))) (set fp_frac (ite (&& (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1))) (== (bv 32 0xff) (var int_exp))) (& (>> (var int_mant) (bv 32 0x8) false) (bv 32 0x7fffff)) (ite (|| (&& (! (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1)))) (|| (! (sle (var int_exp) (bv 32 0x7f))) (== (var int_exp) (bv 32 0x7f)))) (|| (&& (! (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1)))) (sle (var int_exp) (bv 32 0xffffff80))) (== (var int_mant) (bv 32 0x0)))) (bv 32 0x0) (let temp_exp (ite (is_zero (& (>> (var int_mant) (bv 32 0x1f) false) (bv 32 0x1))) (bv 32 0x0) (+ (var int_exp) (bv 32 0x80))) (let fp_exp_frac (+ (| (<< (& (>> (var temp_exp) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0x17) false) (& (>> (var int_mant) (bv 32 0x8) false) (bv 32 0x7fffff))) (ite (var flag_rnd) (bv 32 0x1) (bv 32 0x0))) (& (>> (var fp_exp_frac) (bv 32 0x0) false) (bv 32 0x7fffff))))))) (set d0 (| (<< (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1)) (bv 32 0x1f) false) (| (<< (var fp_exp) (bv 32 0x17) false) (var fp_frac)))))
d "unpack e0, d0" 4b008000 0x0 (seq (set fp_exp (& (>> (var d0) (bv 32 0x17) false) (bv 32 0xff))) (set fp_frac (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x7fffff))) (set int_exp (ite (== (var fp_exp) (bv 32 0xff)) (bv 32 0xff) (ite (&& (is_zero (var fp_exp)) (is_zero (var fp_frac))) (bv 32 0xffffff81) (ite (&& (is_zero (var fp_exp)) (! (is_zero (var fp_frac)))) (bv 32 0xffffff82) (- (var fp_exp) (bv 32 0x7f)))))) (set int_mant (ite (== (var fp_exp) (bv 32 0xff)) (<< (& (>> (var fp_frac) (bv 32 0x0) false) (bv 32 0x7fffff)) (bv 32 0x7) false) (ite (&& (is_zero (var fp_exp)) (is_zero (var fp_frac))) (bv 32 0x0) (ite (&& (is_zero (var fp_exp)) (! (is_zero (var fp_frac)))) (<< (& (>> (var fp_frac) (bv 32 0x0) false) (bv 32 0x7fffff)) (bv 32 0x7) false) (| (<< (& (>> (var fp_frac) (bv 32 0x0) false) (bv 32 0x7fffff)) (bv 32 0x7) false) (<< (bv 32 0x1) (bv 32 0x1e) false)))))) (set temp (append (var int_exp) (var int_mant))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "trapsv" 0d004005 0x0 (branch (! (is_zero (& (>> (var PSW) (bv 32 0x1d) false) (bv 32 0x1)))) nop nop)
d "trapv" 0d000005 0x0 (branch (! (is_zero (& (>> (var PSW) (bv 32 0x1e) false) (bv 32 0x1)))) nop nop)
d "syscall #0" ad008000 0x0 nop
d "rstv" 2f000000 0x0 (seq (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1d) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1c) false))) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1b) false))))
d "dsync" 0d008004 0x0 nop
d "isync" 0d00c004 0x0 nop
d "wait" 0d008005 0x0 nop
d "disable" 0d004003 0x0 (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x8) false)))
d "disable d0" 0d00c003 0x0 (seq (set d0 (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1))) (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x8) false))))
d "enable" 0d000003 0x0 (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x8) false)))
d "restore d0" 0d008003 0x0 (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x8) false)))
d "div e0, d0, d0" 4b000102 0x0 (seq (set dividend (var d0)) (set divisor (var d0)) (set remainder (ite (== (var divisor) (bv 32 0x0)) (bv 32 0x0) (ite (&& (== (var divisor) (bv 32 0xffffffff)) (== (var dividend) (bv 32 0x80000000))) (bv 32 0x0) (mod (var dividend) (var divisor))))) (set quotient (ite (== (var divisor) (bv 32 0x0)) (ite (|| (! (sle (var dividend) (bv 32 0x0))) (== (var dividend) (bv 32 0x0))) (bv 32 0x7fffffff) (bv 32 0x80000000)) (ite (&& (== (var divisor) (bv 32 0xffffffff)) (== (var dividend) (bv 32 0x80000000))) (bv 32 0x7fffffff) (div (- (var dividend) (var remainder)) (var divisor))))) (set temp (append (var remainder) (var quotient))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "div.u e0, d0, d0" 4b001102 0x0 (seq (set dividend (var d0)) (set divisor (var d0)) (set remainder (ite (== (var divisor) (bv 32 0x0)) (bv 32 0x0) (mod (var dividend) (var divisor)))) (set quotient (ite (== (var divisor) (bv 32 0x0)) (bv 32 0xffffffff) (div (- (var dividend) (var remainder)) (var divisor)))) (set temp (append (var remainder) (var quotient))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "dvinit e0, d0, d0" 4b00a001 0x0 (seq (set temp (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false)) (- (bv 32 0x40) (bv 32 0x20)) (msb (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false)))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (is_zero (var d0)) (&& (== (var d0) (bv 32 0xffffffff)) (== (var d0) (bv 32 0x80000000))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1c) false))))
d "dvinit.b e0, d0, d0" 4b00a005 0x0 (seq (set quotient_sign (! (== (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1)) (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1))))) (set temp (| (ite (var quotient_sign) (bv 64 0xffffff) (bv 64 0x0)) (<< (& (>> (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false)) (- (bv 32 0x40) (bv 32 0x20)) (msb (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false))))) (bv 64 0x0) false) (bv 64 0xffffffffff)) (bv 32 0x18) false))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (is_zero (var d0)) (&& (== (var d0) (bv 32 0xffffffff)) (== (var d0) (bv 32 0xffffff80))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1c) false))))
d "dvinit.bu e0, d0, d0" 4b00a004 0x0 (seq (set temp (cast 64 false (var d0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (is_zero (var d0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1c) false))))
d "dvinit.h e0, d0, d0" 4b00a003 0x0 (seq (set quotient_sign (! (== (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1)) (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1))))) (set temp (| (ite (var quotient_sign) (bv 64 0xffff) (bv 64 0x0)) (<< (& (>> (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false)) (- (bv 32 0x40) (bv 32 0x20)) (msb (cast 64 false (<< (var _sext_val) (- (- (bv 32 0x40) (bv 32 0x20)) (bv 32 0x0)) false))))) (bv 64 0x0) false) (bv 64 0xffffffffffff)) (bv 32 0x10) false))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (is_zero (var d0)) (&& (== (var d0) (bv 32 0xffffffff)) (== (var d0) (bv 32 0xffff8000))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1c) false))))
d "dvinit.hu e0, d0, d0" 4b00a002 0x0 (seq (set temp (cast 64 false (var d0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (is_zero (var d0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1c) false))))
d "dvinit.u e0, d0, d0" 4b00a000 0x0 (seq (set temp (cast 64 false (var d0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (is_zero (var d0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x1c) false))))
d "dvadj e0, e0, d0" 6b00d000 0x0 (seq (set q_sign (^^ (! (is_zero (& (>> (var d1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1)))))) (set x_sign (! (is_zero (& (>> (var d1) (bv 32 0x1f) false) (bv 32 0x1))))) (set eq_pos (&& (var x_sign) (== (var d1) (var d0)))) (set eq_neg (&& (var x_sign) (== (var d1) (~- (var d0))))) (set quotient (ite (|| (&& (var q_sign) (! (var eq_neg))) (var eq_pos)) (+ (bv 32 0x1) (var d0)) (var d0))) (set remainder (ite (|| (var eq_pos) (var eq_neg)) (bv 32 0x0) (var d1))) (set gt (! (sle (let x (var d1) (ite (! (sle (var x) (bv 32 0x0))) (var x) (~- (var x)))) (let x (var d0) (ite (! (sle (var x) (bv 32 0x0))) (var x) (~- (var x))))))) (set eq (&& (! (! (is_zero (& (>> (var d1) (bv 32 0x1f) false) (bv 32 0x1))))) (== (let x (var d1) (ite (! (sle (var x) (bv 32 0x0))) (var x) (~- (var x)))) (let x (var d0) (ite (! (sle (var x) (bv 32 0x0))) (var x) (~- (var x))))))) (set overflow (|| (var eq) (var gt))) (set temp (ite (var overflow) (bv 64 0x40) (append (var remainder) (var quotient)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "dvstep e0, e0, d0" 6b00f000 0x0 (seq (set dividend_sign (! (is_zero (& (>> (var d1) (bv 32 0x1f) false) (bv 32 0x1))))) (set divisor_sign (! (is_zero (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1))))) (set quotient_sign (! (let x (var dividend_sign) (let y (var divisor_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))))) (set addend (ite (var quotient_sign) (var d0) (~- (var d0)))) (set dividend_quotient (var d0)) (set remainder (var d1)) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var addend))) (set remainder (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (var _temp) (var remainder))) (set dividend_quotient (| (var dividend_quotient) (ite (ite (let x (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (let y (var dividend_sign) (|| (&& (var x) (var y)) (&& (! (var x)) (! (var y)))))) (! (var quotient_sign)) (var quotient_sign)) (bv 32 0x1) (bv 32 0x0)))) (set temp (append (var remainder) (var dividend_quotient))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "dvstep.u e0, e0, d0" 6b00e000 0x0 (seq (set divisor (var d0)) (set dividend_quotient (var d0)) (set remainder (var d1)) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set remainder (| (<< (var remainder) (bv 32 0x1) false) (& (>> (var dividend_quotient) (bv 32 0x1f) false) (bv 32 0x1)))) (set dividend_quotient (<< (var dividend_quotient) (bv 32 0x1) false)) (set _temp (+ (var remainder) (var divisor))) (set remainder (ite (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0)))) (var remainder) (var _temp))) (set dividend_quotient (| (var dividend_quotient) (ite (! (&& (sle (var _temp) (bv 32 0x0)) (! (== (var _temp) (bv 32 0x0))))) (bv 32 0x1) (bv 32 0x0)))) (set temp (append (var remainder) (var dividend_quotient))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "insert d0, d0, d0, e0" 17000000 0x0 (set d0 (let width (& (>> (var d1) (bv 32 0x0) false) (bv 32 0x1f)) (let mask (<< (- (<< (bv 32 0x1) (var width) false) (bv 32 0x1)) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (| (& (var d0) (~ (var mask))) (& (<< (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (var mask))))))
d "insert d0, d0, d0, #0, #0" 37000000 0x0 (set d0 (let mask (<< (bv 32 0x0) (bv 32 0x0) false) (| (& (var d0) (~ (var mask))) (& (<< (var d0) (bv 32 0x0) false) (var mask)))))
d "insert d0, d0, d0, d0, #0" 57000000 0x0 (set d0 (let mask (<< (- (<< (bv 32 0x1) (bv 32 0x0) false) (bv 32 0x1)) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (| (& (var d0) (~ (var mask))) (& (<< (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (var mask)))))
d "insert d0, d0, #0, e0" 97000000 0x0 (set d0 (let width (& (>> (var d1) (bv 32 0x0) false) (bv 32 0x1f)) (let mask (<< (- (<< (bv 32 0x1) (var width) false) (bv 32 0x1)) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (| (& (var d0) (~ (var mask))) (& (<< (bv 32 0x0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (var mask))))))
d "insert d0, d0, #0, #0, #0" b7000000 0x0 (set d0 (let mask (<< (bv 32 0x0) (bv 32 0x0) false) (| (& (var d0) (~ (var mask))) (& (<< (bv 32 0x0) (bv 32 0x0) false) (var mask)))))
d "insert d0, d0, #0, d0, #0" d7000000 0x0 (set d0 (let mask (<< (bv 32 0x0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (| (& (var d0) (~ (var mask))) (& (<< (bv 32 0x0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (var mask)))))
d "dextr d0, d0, d0, #0" 77000000 0x0 (set d0 (cast 32 false (>> (append (var d0) (<< (var d0) (bv 32 0x0) false)) (bv 32 0x20) false)))
d "dextr d0, d0, d0, d0" 17008000 0x0 (set d0 (cast 32 false (>> (append (var d0) (<< (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false)) (bv 32 0x20) false)))
d "extr d0, d0, e0" 17004000 0x0 (set d0 (let width (& (>> (var d1) (bv 32 0x0) false) (bv 32 0x1f)) (>> (cast 32 false (<< (& (>> (>> (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var width)) false)) (- (- (bv 32 0x20) (var width)) (bv 32 0x0)) false)) (- (bv 32 0x20) (var width)) (msb (cast 32 false (<< (& (>> (>> (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var width)) false)) (- (- (bv 32 0x20) (var width)) (bv 32 0x0)) false))))))
d "extr d0, d0, #0, #1" 37004100 0x0 (set d0 (let _sext_val (cast 32 (msb (cast 1 false (>> (var d0) (bv 32 0x0) false))) (cast 1 false (>> (var d0) (bv 32 0x0) false))) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x1)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x1)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x1)) (bv 32 0x0)) false))))))
d "extr d0, d0, d0, #0" 57004000 0x0 (set d0 (>> (cast 32 false (<< (& (>> (>> (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x0)) false)) (- (- (bv 32 0x20) (bv 32 0x0)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x0)) (msb (cast 32 false (<< (& (>> (>> (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x0)) false)) (- (- (bv 32 0x20) (bv 32 0x0)) (bv 32 0x0)) false)))))
d "extr.u d0, d0, e0" 17006000 0x0 (set d0 (let width (& (>> (var d1) (bv 32 0x0) false) (bv 32 0x1f)) (& (>> (>> (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (var width)) false))))
d "extr.u d0, d0, #0, #0" 37006000 0x0 (set d0 (& (>> (>> (var d0) (bv 32 0x0) false) (bv 32 0x0) false) (bv 32 0x0)))
d "extr.u d0, d0, d0, #0" 57006000 0x0 (set d0 (& (>> (>> (var d0) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1f)) false) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x0)) false)))
d "bisr #0" e000 0x0 (seq (branch (is_zero (var FCX)) nop nop) (set tmp_FCX (var FCX)) (set EA (| (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false) (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1b) false))) (set new_FCX (loadw 0 32 (var EA))) (storew 0 (var EA) (var d7)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d6)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d5)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d4)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a7)) (storew 0 (+ (var EA) (bv 32 0x14)) (var a6)) (storew 0 (+ (var EA) (bv 32 0x18)) (var a5)) (storew 0 (+ (var EA) (bv 32 0x1c)) (var a4)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d3)) (storew 0 (+ (var EA) (bv 32 0x24)) (var d2)) (storew 0 (+ (var EA) (bv 32 0x28)) (var d1)) (storew 0 (+ (var EA) (bv 32 0x2c)) (var d0)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a3)) (storew 0 (+ (var EA) (bv 32 0x34)) (var a2)) (storew 0 (+ (var EA) (bv 32 0x38)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x3c)) (var PCXI)) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xffdfffff)) (<< (& (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x15) false))) (set PCXI (| (& (var PCXI) (bv 32 0xffefffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x14) false))) (set PCXI (| (& (var PCXI) (bv 32 0xfff00000)) (<< (& (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var new_FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x8) false))) (set ICR (| (& (var ICR) (bv 32 0xffffff00)) (<< (& (& (bv 32 0x0) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x0) false))) (branch (== (var tmp_FCX) (var LCX)) nop nop))
d "bisr #0" ad000000 0x0 (seq (branch (is_zero (var FCX)) nop nop) (set tmp_FCX (var FCX)) (set EA (| (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false) (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1b) false))) (set new_FCX (loadw 0 32 (var EA))) (storew 0 (var EA) (var d7)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d6)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d5)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d4)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a7)) (storew 0 (+ (var EA) (bv 32 0x14)) (var a6)) (storew 0 (+ (var EA) (bv 32 0x18)) (var a5)) (storew 0 (+ (var EA) (bv 32 0x1c)) (var a4)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d3)) (storew 0 (+ (var EA) (bv 32 0x24)) (var d2)) (storew 0 (+ (var EA) (bv 32 0x28)) (var d1)) (storew 0 (+ (var EA) (bv 32 0x2c)) (var d0)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a3)) (storew 0 (+ (var EA) (bv 32 0x34)) (var a2)) (storew 0 (+ (var EA) (bv 32 0x38)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x3c)) (var PCXI)) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xffdfffff)) (<< (& (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x15) false))) (set PCXI (| (& (var PCXI) (bv 32 0xffefffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x14) false))) (set PCXI (| (& (var PCXI) (bv 32 0xfff00000)) (<< (& (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var new_FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set ICR (| (& (var ICR) (bv 32 0xfffffeff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x8) false))) (set ICR (| (& (var ICR) (bv 32 0xffffff00)) (<< (& (& (bv 32 0x0) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x0) false))) (branch (== (var tmp_FCX) (var LCX)) nop nop))
d "rslcx" 0d004002 0x0 (seq (branch (is_zero (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff))) nop nop) (branch (== (& (>> (var PCXI) (bv 32 0x14) false) (bv 32 0x1)) (bv 32 0x1)) nop nop) (set EA (| (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false) (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1b) false))) (set d7 (loadw 0 32 (var EA))) (set d6 (loadw 0 32 (+ (var EA) (bv 32 0x4)))) (set d5 (loadw 0 32 (+ (var EA) (bv 32 0x8)))) (set d4 (loadw 0 32 (+ (var EA) (bv 32 0xc)))) (set a7 (loadw 0 32 (+ (var EA) (bv 32 0x10)))) (set a6 (loadw 0 32 (+ (var EA) (bv 32 0x14)))) (set a5 (loadw 0 32 (+ (var EA) (bv 32 0x18)))) (set a4 (loadw 0 32 (+ (var EA) (bv 32 0x1c)))) (set d3 (loadw 0 32 (+ (var EA) (bv 32 0x20)))) (set d2 (loadw 0 32 (+ (var EA) (bv 32 0x24)))) (set d1 (loadw 0 32 (+ (var EA) (bv 32 0x28)))) (set d0 (loadw 0 32 (+ (var EA) (bv 32 0x2c)))) (set a3 (loadw 0 32 (+ (var EA) (bv 32 0x30)))) (set a2 (loadw 0 32 (+ (var EA) (bv 32 0x34)))) (set a11 (loadw 0 32 (+ (var EA) (bv 32 0x38)))) (set new_PCXI (loadw 0 32 (+ (var EA) (bv 32 0x3c)))) (storew 0 (var EA) (var FCX)) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var PCXI) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set PCXI (var new_PCXI)))
d "svlcx" 0d000002 0x0 (seq (branch (is_zero (var FCX)) nop nop) (set tmp_FCX (var FCX)) (set EA (| (<< (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0x7fff)) (bv 32 0x6) false) (<< (& (>> (var FCX) (bv 32 0x10) false) (bv 32 0xf)) (bv 32 0x1b) false))) (set new_FCX (loadw 0 32 (var EA))) (storew 0 (var EA) (var d7)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d6)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d5)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d4)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a7)) (storew 0 (+ (var EA) (bv 32 0x14)) (var a6)) (storew 0 (+ (var EA) (bv 32 0x18)) (var a5)) (storew 0 (+ (var EA) (bv 32 0x1c)) (var a4)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d3)) (storew 0 (+ (var EA) (bv 32 0x24)) (var d2)) (storew 0 (+ (var EA) (bv 32 0x28)) (var d1)) (storew 0 (+ (var EA) (bv 32 0x2c)) (var d0)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a3)) (storew 0 (+ (var EA) (bv 32 0x34)) (var a2)) (storew 0 (+ (var EA) (bv 32 0x38)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x3c)) (var PCXI)) (set PCXI (| (& (var PCXI) (bv 32 0xc03fffff)) (<< (& (& (>> (var ICR) (bv 32 0x0) false) (bv 32 0xff)) (bv 32 0xff)) (bv 32 0x16) false))) (set PCXI (| (& (var PCXI) (bv 32 0xffdfffff)) (<< (& (& (>> (var ICR) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0x1)) (bv 32 0x15) false))) (set PCXI (| (& (var PCXI) (bv 32 0xffefffff)) (<< (& (bv 32 0x0) (bv 32 0x1)) (bv 32 0x14) false))) (set PCXI (| (& (var PCXI) (bv 32 0xfff00000)) (<< (& (& (>> (var FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (set FCX (| (& (var FCX) (bv 32 0xfff00000)) (<< (& (& (>> (var new_FCX) (bv 32 0x0) false) (bv 32 0xfffff)) (bv 32 0xfffff)) (bv 32 0x0) false))) (branch (== (var tmp_FCX) (var LCX)) nop nop))
d "clo d0, d0" 0f00c001 0x0 (seq (set n (bv 32 0x1f)) (repeat (&& (&& (&& (ule (var n) (bv 32 0x20)) (! (== (var n) (bv 32 0x20)))) (|| (! (ule (var n) (bv 32 0x0))) (== (var n) (bv 32 0x0)))) (! (is_zero (& (>> (var d0) (var n) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false))))) (set n (+ (var n) (bv 32 0x1)))) (set d0 (var n)))
d "clo.h d0, d0" 0f00d007 0x0 (seq (set n0 (bv 32 0xf)) (repeat (&& (&& (&& (ule (var n0) (bv 32 0x10)) (! (== (var n0) (bv 32 0x10)))) (|| (! (ule (var n0) (bv 32 0x0))) (== (var n0) (bv 32 0x0)))) (! (is_zero (& (>> (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (var n0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false))))) (set n0 (+ (var n0) (bv 32 0x1)))) (set n1 (bv 32 0xf)) (repeat (&& (&& (&& (ule (var n1) (bv 32 0x10)) (! (== (var n1) (bv 32 0x10)))) (|| (! (ule (var n1) (bv 32 0x0))) (== (var n1) (bv 32 0x0)))) (! (is_zero (& (>> (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (var n1) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false))))) (set n1 (+ (var n1) (bv 32 0x1)))) (set d0 (| (cast 32 false (<< (var n1) (bv 32 0x10) false)) (cast 32 false (var n0)))))
d "cls d0, d0" 0f00d001 0x0 (seq (set n (bv 32 0x1e)) (repeat (&& (&& (&& (ule (var n) (bv 32 0x20)) (! (== (var n) (bv 32 0x20)))) (|| (! (ule (var n) (bv 32 0x0))) (== (var n) (bv 32 0x0)))) (== (& (>> (var d0) (var n) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)) (& (>> (var d0) (bv 32 0x1f) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)))) (set n (+ (var n) (bv 32 0x1)))) (set d0 (var n)))
d "cls.h d0, d0" 0f00e007 0x0 (seq (set n0 (bv 32 0xe)) (repeat (&& (&& (&& (ule (var n0) (bv 32 0x10)) (! (== (var n0) (bv 32 0x10)))) (|| (! (ule (var n0) (bv 32 0x0))) (== (var n0) (bv 32 0x0)))) (== (& (>> (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (var n0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)) (& (>> (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0xf) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)))) (set n0 (+ (var n0) (bv 32 0x1)))) (set n1 (bv 32 0xe)) (repeat (&& (&& (&& (ule (var n1) (bv 32 0x10)) (! (== (var n1) (bv 32 0x10)))) (|| (! (ule (var n1) (bv 32 0x0))) (== (var n1) (bv 32 0x0)))) (== (& (>> (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (var n1) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)) (& (>> (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0xf) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)))) (set n1 (+ (var n1) (bv 32 0x1)))) (set d0 (| (cast 32 false (<< (var n1) (bv 32 0x10) false)) (cast 32 false (var n0)))))
d "clz d0, d0" 0f00b001 0x0 (seq (set n (bv 32 0x1f)) (repeat (&& (&& (&& (ule (var n) (bv 32 0x20)) (! (== (var n) (bv 32 0x20)))) (|| (! (ule (var n) (bv 32 0x0))) (== (var n) (bv 32 0x0)))) (is_zero (& (>> (var d0) (var n) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)))) (set n (+ (var n) (bv 32 0x1)))) (set d0 (var n)))
d "clz.h d0, d0" 0f00c007 0x0 (seq (set n0 (bv 32 0xf)) (repeat (&& (&& (&& (ule (var n0) (bv 32 0x10)) (! (== (var n0) (bv 32 0x10)))) (|| (! (ule (var n0) (bv 32 0x0))) (== (var n0) (bv 32 0x0)))) (is_zero (& (>> (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (var n0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)))) (set n0 (+ (var n0) (bv 32 0x1)))) (set n1 (bv 32 0xf)) (repeat (&& (&& (&& (ule (var n1) (bv 32 0x10)) (! (== (var n1) (bv 32 0x10)))) (|| (! (ule (var n1) (bv 32 0x0))) (== (var n1) (bv 32 0x0)))) (is_zero (& (>> (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (var n1) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)))) (set n1 (+ (var n1) (bv 32 0x1)))) (set d0 (| (cast 32 false (<< (var n1) (bv 32 0x10) false)) (cast 32 false (var n0)))))
d "cachea.i [a0+]#0" 89008003 0x0 nop
d "cachea.i [p0+r]" a9008003 0x0 nop
d "cachea.i [+a0]#0" 89008007 0x0 nop
d "cachea.i [p0+c]#0" a9008007 0x0 nop
d "cachea.i [a0]#0" 8900800b 0x0 nop
d "cachea.w [a0+]#0" 89000003 0x0 nop
d "cachea.w [p0+r]" a9000003 0x0 nop
d "cachea.w [+a0]#0" 89000007 0x0 nop
d "cachea.w [p0+c]#0" a9000007 0x0 nop
d "cachea.w [a0]#0" 8900000b 0x0 nop
d "cachea.wi [a0+]#0" 89004003 0x0 nop
d "cachea.wi [p0+r]" a9004003 0x0 nop
d "cachea.wi [+a0]#0" 89004007 0x0 nop
d "cachea.wi [p0+c]#0" a9004007 0x0 nop
d "cachea.wi [a0]#0" 8900400b 0x0 nop
d "cachei.i [a0+]#0" 89008002 0x0 nop
d "cachei.i [+a0]#0" 89008006 0x0 nop
d "cachei.i [a0]#0" 8900800a 0x0 nop
d "cachei.w [a0+]#0" 8900c002 0x0 nop
d "cachei.w [+a0]#0" 8900c006 0x0 nop
d "cachei.w [a0]#0" 8900c00a 0x0 nop
d "cachei.wi [a0+]#0" 8900c003 0x0 nop
d "cachei.wi [+a0]#0" 8900c007 0x0 nop
d "cachei.wi [a0]#0" 8900c00b 0x0 nop
d "crc32.b d0, d0, d0" 4b006000 0x0 (seq (set A (let tmp (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set crc_in (^ (<< (var A) (bv 32 0x18) false) (~ (let tmp (var d0) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x10) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (bv 32 0x10) false)))))) (set d0 (~ (let tmp (let shift (ite (! (ule (bv 32 0x20) (bv 32 0x8))) (bv 32 0x20) (bv 32 0x8)) (mod (<< (var crc_in) (var shift) false) (| (bv 32 0xedb88320) (<< (bv 32 0x1) (bv 32 0x20) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x10) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (bv 32 0x10) false))))))
d "crc32b.w d0, d0, d0" 4b003000 0x0 (seq (set A (let tmp (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set B (let tmp (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set C (let tmp (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set D (let tmp (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set crc_in (^ (| (<< (var A) (bv 32 0x18) false) (| (<< (var B) (bv 32 0x10) false) (| (<< (var C) (bv 32 0x8) false) (var D)))) (~ (let tmp (var d0) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x10) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (bv 32 0x10) false)))))) (set d0 (~ (let tmp (let shift (ite (! (ule (bv 32 0x20) (bv 32 0x20))) (bv 32 0x20) (bv 32 0x20)) (mod (<< (var crc_in) (var shift) false) (| (bv 32 0xedb88320) (<< (bv 32 0x1) (bv 32 0x20) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x10) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (bv 32 0x10) false))))))
d "crc32l.w d0, d0, d0" 4b007000 0x0 (seq (set A (let tmp (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set B (let tmp (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set C (let tmp (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set D (let tmp (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false)))) (set crc_in (^ (| (<< (var A) (bv 32 0x18) false) (| (<< (var B) (bv 32 0x10) false) (| (<< (var C) (bv 32 0x8) false) (var D)))) (~ (let tmp (var d0) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x10) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (bv 32 0x10) false)))))) (set d0 (~ (let tmp (let shift (ite (! (ule (bv 32 0x20) (bv 32 0x20))) (bv 32 0x20) (bv 32 0x20)) (mod (<< (var crc_in) (var shift) false) (| (bv 32 0xedb88320) (<< (bv 32 0x1) (bv 32 0x20) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x10) false) (bv 32 0xffff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (bv 32 0x10) false))))))
d "crcn d0, d0, d0, d0" 6b001000 0x0 (seq (set N (+ (& (>> (var d0) (bv 32 0xc) false) (bv 32 0xf)) (bv 32 0x1))) (set GEN (& (>> (var d0) (bv 32 0x10) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (- (+ (bv 32 0x10) (var N)) (bv 32 0x1))) false))) (set INV (! (is_zero (& (>> (var d0) (bv 32 0x9) false) (bv 32 0x1))))) (set LITTLE_E (! (is_zero (& (>> (var d0) (bv 32 0x8) false) (bv 32 0x1))))) (set M (+ (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x7)) (bv 32 0x1))) (set data (& (>> (var d0) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (- (var M) (bv 32 0x1))) false))) (branch (var LITTLE_E) (seq (set data (var data)) (set reverseV_i (bv 32 0x0)) (repeat (&& (ule (var reverseV_i) (var M)) (! (== (var reverseV_i) (var M)))) (seq (set data (let swap_bit_i_x (var data) (let swap_bit_i_ia (var reverseV_i) (let swap_bit_i_ib (- (bv 32 0x1f) (var reverseV_i)) (let swap_bit_i_a (& (>> (var swap_bit_i_x) (var swap_bit_i_ia) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)) (let swap_bit_i_b (& (>> (var swap_bit_i_x) (var swap_bit_i_ib) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)) (let swap_bit_i_1 (| (& (var swap_bit_i_x) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false) (var swap_bit_i_ia) false))) (& (<< (var swap_bit_i_b) (var swap_bit_i_ia) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false) (var swap_bit_i_ia) false))) (| (& (var swap_bit_i_1) (~ (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false) (var swap_bit_i_ib) false))) (& (<< (var swap_bit_i_a) (var swap_bit_i_ib) false) (<< (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false) (var swap_bit_i_ib) false)))))))))) (set reverseV_i (+ (var reverseV_i) (bv 32 0x1)))))) nop) (set seed (& (>> (var d0) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (- (var N) (bv 32 0x1))) false))) (branch (var INV) (set seed (~ (var seed))) nop) (set crc_in (ite (ule (var N) (var M)) (& (>> (^ (var data) (<< (var seed) (- (var M) (var N)) false)) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (- (var M) (bv 32 0x1))) false)) (& (>> (^ (var seed) (<< (var data) (- (var N) (var M)) false)) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (- (var M) (bv 32 0x1))) false)))) (set result (let shift (ite (! (ule (var N) (var M))) (var N) (var M)) (mod (<< (var crc_in) (var shift) false) (| (var GEN) (<< (bv 32 0x1) (var N) false))))) (branch (var INV) (set result (~ (var result))) nop) (set d0 (& (>> (var result) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (- (var N) (bv 32 0x1))) false))))
d "ixmax e0, e0, d0" 6b00a000 0x0 (seq (set Ec15_0 (mod (+ (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x2)) (bv 32 0xffff))) (set Ec63_48 (bv 32 0x0)) (set Ec47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ec31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Ed15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (branch (&& (|| (! (ule (var Db15_0) (var Db31_16))) (== (var Db15_0) (var Db31_16))) (! (ule (var Db15_0) (var Ed47_32)))) (seq (set Ec47_32 (var Db15_0)) (set Ec31_16 (var Ed15_0))) (branch (&& (! (ule (var Db31_16) (var Db15_0))) (! (ule (var Db31_16) (var Ed47_32)))) (seq (set Ec47_32 (var Db31_16)) (set Ec31_16 (mod (+ (var Ed15_0) (bv 32 0x1)) (bv 32 0xffff)))) (seq (set Ec47_32 (var Ed47_32)) (set Ec31_16 (var Ed31_16))))) (set temp (append (| (cast 32 false (<< (var Ec63_48) (bv 32 0x10) false)) (cast 32 false (var Ec47_32))) (| (cast 32 false (<< (var Ec31_16) (bv 32 0x10) false)) (cast 32 false (var Ec15_0))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ixmax.u e0, e0, d0" 6b00b000 0x0 (seq (set Ec15_0 (mod (+ (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x2)) (bv 32 0xffff))) (set Ec63_48 (bv 32 0x0)) (set Ec47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ec31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Ed15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (branch (&& (|| (! (ule (var Db15_0) (var Db31_16))) (== (var Db15_0) (var Db31_16))) (! (ule (var Db15_0) (var Ed47_32)))) (seq (set Ec47_32 (var Db15_0)) (set Ec31_16 (var Ed15_0))) (branch (&& (! (ule (var Db31_16) (var Db15_0))) (! (ule (var Db31_16) (var Ed47_32)))) (seq (set Ec47_32 (var Db31_16)) (set Ec31_16 (mod (+ (var Ed15_0) (bv 32 0x1)) (bv 32 0xffff)))) (seq (set Ec47_32 (var Ed47_32)) (set Ec31_16 (var Ed31_16))))) (set temp (append (| (cast 32 false (<< (var Ec63_48) (bv 32 0x10) false)) (cast 32 false (var Ec47_32))) (| (cast 32 false (<< (var Ec31_16) (bv 32 0x10) false)) (cast 32 false (var Ec15_0))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ixmin e0, e0, d0" 6b008000 0x0 (seq (set Ec15_0 (mod (+ (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x2)) (bv 32 0xffff))) (set Ec63_48 (bv 32 0x0)) (set Ec47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ec31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Ed15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (branch (&& (ule (var Db15_0) (var Db31_16)) (&& (ule (var Db15_0) (var Ed47_32)) (! (== (var Db15_0) (var Ed47_32))))) (seq (set Ec47_32 (var Db15_0)) (set Ec31_16 (var Ed15_0))) (branch (&& (&& (ule (var Db31_16) (var Db15_0)) (! (== (var Db31_16) (var Db15_0)))) (&& (ule (var Db31_16) (var Ed47_32)) (! (== (var Db31_16) (var Ed47_32))))) (seq (set Ec47_32 (var Db31_16)) (set Ec31_16 (mod (+ (var Ed15_0) (bv 32 0x1)) (bv 32 0xffff)))) (seq (set Ec47_32 (var Ed47_32)) (set Ec31_16 (var Ed31_16))))) (set temp (append (| (cast 32 false (<< (var Ec63_48) (bv 32 0x10) false)) (cast 32 false (var Ec47_32))) (| (cast 32 false (<< (var Ec31_16) (bv 32 0x10) false)) (cast 32 false (var Ec15_0))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "ixmin.u e0, e0, d0" 6b009000 0x0 (seq (set Ec15_0 (mod (+ (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x2)) (bv 32 0xffff))) (set Ec63_48 (bv 32 0x0)) (set Ec47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ec31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Db15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed47_32 (& (>> (var d1) (bv 32 0x0) false) (bv 32 0xffff))) (set Ed31_16 (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set Ed15_0 (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (branch (&& (ule (var Db15_0) (var Db31_16)) (&& (ule (var Db15_0) (var Ed47_32)) (! (== (var Db15_0) (var Ed47_32))))) (seq (set Ec47_32 (var Db15_0)) (set Ec31_16 (var Ed15_0))) (branch (&& (&& (ule (var Db31_16) (var Db15_0)) (! (== (var Db31_16) (var Db15_0)))) (&& (ule (var Db31_16) (var Ed47_32)) (! (== (var Db31_16) (var Ed47_32))))) (seq (set Ec47_32 (var Db31_16)) (set Ec31_16 (mod (+ (var Ed15_0) (bv 32 0x1)) (bv 32 0xffff)))) (seq (set Ec47_32 (var Ed47_32)) (set Ec31_16 (var Ed31_16))))) (set temp (append (| (cast 32 false (<< (var Ec63_48) (bv 32 0x10) false)) (cast 32 false (var Ec47_32))) (| (cast 32 false (<< (var Ec31_16) (bv 32 0x10) false)) (cast 32 false (var Ec15_0))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "j #0" 1d000000 0x0 (jmp (bv 32 0x0))
d "ja #0" 9d000000 0x0 (jmp (bv 32 0x0))
d "jla #0" dd000000 0x0 (seq (set a11 (bv 32 0x4)) (jmp (bv 32 0x0)))
d "jlez d0, #0" 8e00 0x0 (branch (sle (var d0) (bv 32 0x0)) (jmp (bv 32 0x0)) nop)
d "jli a0" 2d002000 0x0 (seq (set a11 (bv 32 0x4)) (jmp (& (var a0) (bv 32 0xfffffffe))))
d "jlt d0, d0, #0" 3f000000 0x0 (branch (sle (var d0) (var d0)) (jmp (bv 32 0x0)) nop)
d "jlt d0, #0, #0" bf000000 0x0 (branch (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (jmp (bv 32 0x0)) nop)
d "jlt.u d0, d0, #0" 3f000080 0x0 (branch (ule (var d0) (var d0)) (jmp (bv 32 0x0)) nop)
d "jlt.u d0, #0, #0" bf000080 0x0 (branch (&& (ule (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (jmp (bv 32 0x0)) nop)
d "jltz d0, #0" 0e00 0x0 (branch (&& (sle (var d0) (bv 32 0x0)) (! (== (var d0) (bv 32 0x0)))) (jmp (bv 32 0x0)) nop)
d "jne d15, d0, #0x20" fe00 0x0 (branch (! (== (var d15) (var d0))) (jmp (bv 32 0x20)) nop)
d "jne d15, #0, #0x20" de00 0x0 (branch (! (== (var d15) (bv 32 0x0))) (jmp (bv 32 0x20)) nop)
d "jne d15, d0, #0" 7e00 0x0 (branch (! (== (var d15) (var d0))) (jmp (bv 32 0x0)) nop)
d "jne d15, #0, #0" 5e00 0x0 (branch (! (== (var d15) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jne d0, d0, #0" 5f000080 0x0 (branch (! (== (var d0) (var d0))) (jmp (bv 32 0x0)) nop)
d "jne d0, #0, #0" df000080 0x0 (branch (! (== (var d0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jne.a a0, a0, #0" 7d000080 0x0 (branch (! (== (var a0) (var a0))) (jmp (bv 32 0x0)) nop)
d "jned d0, d0, #0" 1f000080 0x0 (seq (set PC (ite (! (== (var d0) (var d0))) (bv 32 0x0) (bv 32 0x4))) (set d0 (- (var d0) (bv 32 0x1))) (jmp (var PC)))
d "jned d0, #0, #0" 9f000080 0x0 (seq (set PC (ite (! (== (var d0) (bv 32 0x0))) (bv 32 0x0) (bv 32 0x4))) (set d0 (- (var d0) (bv 32 0x1))) (jmp (var PC)))
d "jnei d0, d0, #0" 1f000000 0x0 (seq (set PC (ite (! (== (var d0) (var d0))) (bv 32 0x0) (bv 32 0x4))) (set d0 (+ (var d0) (bv 32 0x1))) (jmp (var PC)))
d "jnei d0, #0, #0" 9f000000 0x0 (seq (set PC (ite (! (== (var d0) (bv 32 0x0))) (bv 32 0x0) (bv 32 0x4))) (set d0 (+ (var d0) (bv 32 0x1))) (jmp (var PC)))
d "jnz d15, #0" ee00 0x0 (branch (! (== (var d15) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jnz d0, #0" f600 0x0 (branch (! (== (var d0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jnz.a a0, #0" 7c00 0x0 (branch (! (== (var a0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jnz.a a0, #0" bd000080 0x0 (branch (! (== (var a0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jnz.t d15, #0, #0" ae00 0x0 (branch (! (is_zero (& (>> (var d15) (bv 32 0x0) false) (bv 32 0x1)))) (jmp (bv 32 0x0)) nop)
d "jnz.t d0, #0, #0" 6f000080 0x0 (branch (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (jmp (bv 32 0x0)) nop)
d "ji a0" dc00 0x0 (jmp (& (var a0) (bv 32 0xfffffffe)))
d "ji a0" 2d003000 0x0 (jmp (& (var a0) (bv 32 0xfffffffe)))
d "jl #0" 5d000000 0x0 (seq (set a11 (bv 32 0x4)) (jmp (bv 32 0x0)))
d "jeq d15, d0, #0x20" be00 0x0 (branch (== (var d15) (var d0)) (jmp (bv 32 0x20)) nop)
d "jeq d15, #0, #0x20" 9e00 0x0 (branch (== (var d15) (bv 32 0x0)) (jmp (bv 32 0x20)) nop)
d "jeq d15, d0, #0" 3e00 0x0 (branch (== (var d15) (var d0)) (jmp (bv 32 0x0)) nop)
d "jeq d15, #0, #0" 1e00 0x0 (branch (== (var d15) (bv 32 0x0)) (jmp (bv 32 0x0)) nop)
d "jeq d0, d0, #0" 5f000000 0x0 (branch (== (var d0) (var d0)) (jmp (bv 32 0x0)) nop)
d "jeq d0, #0, #0" df000000 0x0 (branch (== (var d0) (bv 32 0x0)) (jmp (bv 32 0x0)) nop)
d "jeq.a a0, a0, #0" 7d000000 0x0 (branch (== (var a0) (var a0)) (jmp (bv 32 0x0)) nop)
d "jge d0, d0, #0" 7f000000 0x0 (branch (|| (! (sle (var d0) (var d0))) (== (var d0) (var d0))) (jmp (bv 32 0x0)) nop)
d "jge d0, #0, #0" ff000000 0x0 (branch (|| (! (sle (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jge.u d0, d0, #0" 7f000080 0x0 (branch (|| (! (ule (var d0) (var d0))) (== (var d0) (var d0))) (jmp (bv 32 0x0)) nop)
d "jge.u d0, #0, #0" ff000080 0x0 (branch (|| (! (ule (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jgez d0, #0" ce00 0x0 (branch (|| (! (ule (var d0) (bv 32 0x0))) (== (var d0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jgtz d0, #0" 4e00 0x0 (branch (! (ule (var d0) (bv 32 0x0))) (jmp (bv 32 0x0)) nop)
d "jz d15, #0" 6e00 0x0 (branch (== (var d15) (bv 32 0x0)) (jmp (bv 32 0x0)) nop)
d "jz d0, #0" 7600 0x0 (branch (is_zero (var d0)) (jmp (bv 32 0x0)) nop)
d "jz.a a0, #0" bc00 0x0 (branch (is_zero (var a0)) (jmp (bv 32 0x0)) nop)
d "jz.a a0, #0" bd000000 0x0 (branch (== (var a0) (bv 32 0x0)) (jmp (bv 32 0x0)) nop)
d "jz.t d15, #0, #0" 2e00 0x0 (branch (! (! (is_zero (& (>> (var d15) (bv 32 0x0) false) (bv 32 0x1))))) (jmp (bv 32 0x0)) nop)
d "jz.t d0, #0, #0" 6f000000 0x0 (branch (! (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1))))) (jmp (bv 32 0x0)) nop)
d "jz.t d15, #0x14, #0x10" ef4f0800 0x0 (branch (! (! (is_zero (& (>> (var d15) (bv 32 0x14) false) (bv 32 0x1))))) (jmp (bv 32 0x10)) nop)
d "loop a0, #0xffffffe0" fc00 0x0 (seq (set PC (ite (! (is_zero (var a0))) (bv 32 0xffffffe0) (bv 32 0x2))) (set a0 (- (var a0) (bv 32 0x1))) (jmp (var PC)))
d "loop a0, #0" fd000000 0x0 (seq (set PC (ite (! (is_zero (var a0))) (bv 32 0x0) (bv 32 0x4))) (set a0 (- (var a0) (bv 32 0x1))) (jmp (var PC)))
d "loopu #0" fd000080 0x0 (jmp (bv 32 0x0))
d "cmpswap.w [a0]#0, e0" 4900c008 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (ite (== (var tmp) (var d1)) (var d0) (var tmp))) (set d0 (var tmp)))
d "cmpswap.w [p0+r], e0" 6900c000 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (ite (== (var tmp) (var d1)) (var d0) (var tmp))) (set d0 (var tmp)) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (| (<< (var incr) (bv 32 0x10) false) (& (>> (var new_index) (bv 32 0x0) false) (bv 32 0xffff)))))
d "cmpswap.w [p0+c]#0, e0" 6900c004 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (ite (== (var tmp) (var d1)) (var d0) (var tmp))) (set d0 (var tmp)) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (&& (sle (var new_index) (bv 32 0x0)) (! (== (var new_index) (bv 32 0x0)))) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (| (<< (var length) (bv 32 0x10) false) (& (>> (var new_index) (bv 32 0x0) false) (bv 32 0xffff)))))
d "cmpswap.w [a0+]#0, e0" 4900c000 0x0 (seq (set EA (var a0)) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (ite (== (var tmp) (var d1)) (var d0) (var tmp))) (set d0 (var tmp)) (set a0 (var EA)))
d "cmpswap.w [+a0]#0, e0" 4900c004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (ite (== (var tmp) (var d1)) (var d0) (var tmp))) (set d0 (var tmp)) (set a0 (var EA)))
d "madd d0, d0, d0, d0" 03000a00 0x0 (seq (set result (+ (var d0) (* (var d0) (var d0)))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "madd d0, d0, d0, #0" 13002000 0x0 (seq (set result (+ (var d0) (* (var d0) (bv 32 0x0)))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "madd e0, e0, d0, #0" 13006000 0x0 (seq (set result (+ (append (var d1) (var d0)) (cast 64 false (* (var d0) (bv 32 0x0))))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "madd e0, e0, d0, d0" 03006a00 0x0 (seq (set result (+ (append (var d1) (var d0)) (cast 64 false (* (var d0) (var d0))))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "madds d0, d0, d0, d0" 03008a00 0x0 (seq (set result (+ (var d0) (* (var d0) (var d0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "madds d0, d0, d0, #0" 1300a000 0x0 (seq (set result (+ (var d0) (* (var d0) (bv 32 0x0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "madds e0, e0, d0, #0" 1300e000 0x0 (seq (set result (+ (append (var d1) (var d0)) (cast 64 false (* (var d0) (bv 32 0x0))))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "madds e0, e0, d0, d0" 0300ea00 0x0 (seq (set result (+ (append (var d1) (var d0)) (cast 64 false (* (var d0) (var d0))))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddm.h e0, e0, d0, d0ul, #0" 83007000 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddm.h e0, e0, d0, d0lu, #0" 83007400 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddm.h e0, e0, d0, d0ll, #0" 83007800 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddm.h e0, e0, d0, d0uu, #0" 83007c00 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddms.h e0, e0, d0, d0ul, #0" 8300f000 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddms.h e0, e0, d0, d0lu, #0" 8300f400 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddms.h e0, e0, d0, d0ll, #0" 8300f800 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddms.h e0, e0, d0, d0uu, #0" 8300fc00 0x0 (seq (set madd_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set madd_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set madd_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var madd_a) (bv 32 0x8000)) (&& (== (var madd_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var madd_a) (var madd_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddr.h d0, e0, d0, d0ul, #0" 43007800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (var d1) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (var d0) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddr.h d0, d0, d0, d0ul, #0" 83003000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddr.h d0, d0, d0, d0lu, #0" 83003400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddr.h d0, d0, d0, d0ll, #0" 83003800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddr.h d0, d0, d0, d0uu, #0" 83003c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddr.q d0, d0, d0u, d0u, #0" 43001800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result) (bv 32 0x10) false) (bv 32 0xffff))) (bv 16 0x0))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddr.q d0, d0, d0l, d0l, #0" 43001c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result) (bv 32 0x10) false) (bv 32 0xffff))) (bv 16 0x0))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddrs.h d0, e0, d0, d0ul, #0" 4300f800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (var d1) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (var d0) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddrs.h d0, d0, d0, d0ul, #0" 8300b000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddrs.h d0, d0, d0, d0lu, #0" 8300b400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddrs.h d0, d0, d0, d0ll, #0" 8300b800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddrs.h d0, d0, d0, d0uu, #0" 8300bc00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddrs.q d0, d0, d0u, d0u, #0" 43009800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (bv 32 0x0) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddrs.q d0, d0, d0l, d0l, #0" 43009c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (bv 32 0x0) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsu.h e0, e0, d0, d0ul, #0" c3006000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsu.h e0, e0, d0, d0lu, #0" c3006400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsu.h e0, e0, d0, d0ll, #0" c3006800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsu.h e0, e0, d0, d0uu, #0" c3006c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsum.h e0, e0, d0, d0ul, #0" c3007000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsum.h e0, e0, d0, d0lu, #0" c3007400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsum.h e0, e0, d0, d0ll, #0" c3007800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsum.h e0, e0, d0, d0uu, #0" c3007c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsums.h e0, e0, d0, d0ul, #0" c300f000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsums.h e0, e0, d0, d0lu, #0" c300f400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsums.h e0, e0, d0, d0ll, #0" c300f800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsums.h e0, e0, d0, d0uu, #0" c300fc00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (append (var d1) (var d0)) (<< (cast 64 false (- (var result_word1) (var result_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsur.h d0, d0, d0, d0ul, #0" c3003000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsur.h d0, d0, d0, d0lu, #0" c3003400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsur.h d0, d0, d0, d0ll, #0" c3003800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsur.h d0, d0, d0, d0uu, #0" c3003c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsurs.h d0, d0, d0, d0ul, #0" c300b000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsurs.h d0, d0, d0, d0lu, #0" c300b400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsurs.h d0, d0, d0, d0ll, #0" c300b800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsurs.h d0, d0, d0, d0uu, #0" c300bc00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res1) (bv 32 0x8000)))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword0 (+ (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (bv 32 0x10) false) (+ (var mul_res0) (bv 32 0x8000)))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsus.h e0, e0, d0, d0ul, #0" c300e000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsus.h e0, e0, d0, d0lu, #0" c300e400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsus.h e0, e0, d0, d0ll, #0" c300e800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "maddsus.h e0, e0, d0, d0uu, #0" c300ec00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (+ (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub d0, d0, d0, d0" 23000a00 0x0 (seq (set result (- (var d0) (* (var d0) (var d0)))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub d0, d0, d0, #0" 33002000 0x0 (seq (set result (- (var d0) (* (var d0) (bv 32 0x0)))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub e0, e0, d0, #0" 33006000 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 (msb (var d0)) (var d0)) (bv 64 0x0)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub e0, e0, d0, d0" 23006a00 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (var d0)) (var d0))))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs d0, d0, d0, d0" 23008a00 0x0 (seq (set result (- (var d0) (* (var d0) (var d0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs d0, d0, d0, #0" 3300a000 0x0 (seq (set result (- (var d0) (* (var d0) (bv 32 0x0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs e0, e0, d0, #0" 3300e000 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 (msb (var d0)) (var d0)) (bv 64 0x0)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs e0, e0, d0, d0" 2300ea00 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (var d0)) (var d0))))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0ul, #0" a300e000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0lu, #0" a300e400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0ll, #0" a300e800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0uu, #0" a300ec00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0u, d0u, #0" 63009000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (var d0) (var mul_res))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0, d0u, #0" 63008000 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x10) false) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0x0)))) (bv 32 0x0) false)) (bv 32 0x10) false))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0, d0l, #0" 63008400 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x10) false) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false)) (bv 32 0x10) false))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0, d0, #0" 63008800 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x20) false) (<< (* (cast 64 false (var d0)) (cast 64 false (var d0))) (bv 32 0x0) false)) (bv 32 0x20) false))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0l, d0l, #0" 63009400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (var d0) (var mul_res))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0, d0u, #0" 6300e000 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0xffff)))) (bv 32 0x0) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0, d0l, #0" 6300e400 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0, d0, #0" 6300ec00 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (var d0))) (bv 32 0x0) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0u, d0u, #0" 6300f000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (cast 64 false (<< (var mul_res) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0l, d0l, #0" 6300f400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (cast 64 false (<< (var mul_res) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u d0, d0, d0, #0" 33008000 0x0 (seq (set result (- (var d0) (* (var d0) (bv 32 0x0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u d0, d0, d0, d0" 23008800 0x0 (seq (set result (- (var d0) (* (var d0) (var d0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u e0, e0, d0, #0" 3300c000 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 false (var d0)) (bv 64 0x0)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (var y) false) (bv 64 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 64 0x0)) (! (== (var x) (bv 64 0x0)))) (bv 64 0x0) (var x))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u e0, e0, d0, d0" 2300e800 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 false (var d0)) (cast 64 false (var d0))))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (var y) false) (bv 64 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 64 0x0)) (! (== (var x) (bv 64 0x0)))) (bv 64 0x0) (var x))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.h e0, e0, d0, d0ul, #0" a3006000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.h e0, e0, d0, d0lu, #0" a3006400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.h e0, e0, d0, d0ll, #0" a3006800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.h e0, e0, d0, d0uu, #0" a3006c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q d0, d0, d0u, d0u, #0" 63001000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (var d0) (var mul_res))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q d0, d0, d0, d0u, #0" 63000000 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x10) false) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0x0)))) (bv 32 0x0) false)) (bv 32 0x10) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q d0, d0, d0, d0l, #0" 63000400 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x10) false) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false)) (bv 32 0x10) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q d0, d0, d0, d0, #0" 63000800 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x20) false) (<< (* (cast 64 false (var d0)) (cast 64 false (var d0))) (bv 32 0x0) false)) (bv 32 0x20) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q d0, d0, d0l, d0l, #0" 63001400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (var d0) (var mul_res))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q e0, e0, d0, d0u, #0" 63006000 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0xffff)))) (bv 32 0x0) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q e0, e0, d0, d0l, #0" 63006400 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q e0, e0, d0, d0, #0" 63006c00 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (var d0))) (bv 32 0x0) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q e0, e0, d0u, d0u, #0" 63007000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (cast 64 false (<< (var mul_res) (bv 32 0x10) false)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.q e0, e0, d0l, d0l, #0" 63007400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (cast 64 false (<< (var mul_res) (bv 32 0x10) false)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.u e0, e0, d0, #0" 33004000 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 false (var d0)) (bv 64 0x0)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msub.u e0, e0, d0, d0" 23006800 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 false (var d0)) (cast 64 false (var d0))))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubad.h e0, e0, d0, d0ul, #0" e3006000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubad.h e0, e0, d0, d0lu, #0" e3006400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubad.h e0, e0, d0, d0ll, #0" e3006800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubad.h e0, e0, d0, d0uu, #0" e3006c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (| (cast 64 false (<< (var result_word1) (bv 32 0x20) false)) (cast 64 false (var result_word0)))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadm.h e0, e0, d0, d0ul, #0" e3007000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadm.h e0, e0, d0, d0lu, #0" e3007400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadm.h e0, e0, d0, d0ll, #0" e3007800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadm.h e0, e0, d0, d0uu, #0" e3007c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadms.h e0, e0, d0, d0ul, #0" e300f000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadms.h e0, e0, d0, d0lu, #0" e300f400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadms.h e0, e0, d0, d0ll, #0" e300f800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadms.h e0, e0, d0, d0uu, #0" e300fc00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (- (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadr.h d0, d0, d0, d0ul, #0" e3003000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadr.h d0, d0, d0, d0lu, #0" e3003400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadr.h d0, d0, d0, d0ll, #0" e3003800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadr.h d0, d0, d0, d0uu, #0" e3003c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadrs.h d0, d0, d0, d0ul, #0" e300b000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadrs.h d0, d0, d0, d0lu, #0" e300b400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadrs.h d0, d0, d0, d0ll, #0" e300b800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubadrs.h d0, d0, d0, d0uu, #0" e300bc00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (+ (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubads.h e0, e0, d0, d0ul, #0" e300e000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubads.h e0, e0, d0, d0lu, #0" e300e400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubads.h e0, e0, d0, d0ll, #0" e300e800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubads.h e0, e0, d0, d0uu, #0" e300ec00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (+ (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubm.h e0, e0, d0, d0ul, #0" a3007000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubm.h e0, e0, d0, d0lu, #0" a3007400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubm.h e0, e0, d0, d0ll, #0" a3007800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubm.h e0, e0, d0, d0uu, #0" a3007c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubms.h e0, e0, d0, d0ul, #0" a300f000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubms.h e0, e0, d0, d0lu, #0" a300f400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubms.h e0, e0, d0, d0ll, #0" a300f800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubms.h e0, e0, d0, d0uu, #0" a300fc00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (<< (cast 64 false (+ (var mul_word1) (var mul_word0))) (bv 32 0x10) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubr.h d0, e0, d0, d0ul, #0" 63007800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (var d1) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (var d0) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubr.h d0, d0, d0, d0ul, #0" a3003000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubr.h d0, d0, d0, d0lu, #0" a3003400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubr.h d0, d0, d0, d0ll, #0" a3003800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubr.h d0, d0, d0, d0uu, #0" a3003c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (append (cast 16 false (& (>> (var result_halfword1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_halfword0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubr.q d0, d0, d0u, d0u, #0" 63001800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (- (var d0) (var mul_res)) (bv 32 0x8000))) (set d0 (& (var result) (bv 32 0xffff0000))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubr.q d0, d0, d0l, d0l, #0" 63001c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (- (var d0) (var mul_res)) (bv 32 0x8000))) (set d0 (& (var result) (bv 32 0xffff0000))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubrs.h d0, e0, d0, d0ul, #0" 6300f800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (var d1) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (var d0) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubrs.h d0, d0, d0, d0ul, #0" a300b000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubrs.h d0, d0, d0, d0lu, #0" a300b400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubrs.h d0, d0, d0, d0ll, #0" a300b800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubrs.h d0, d0, d0, d0uu, #0" a300bc00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_halfword1 (+ (- (& (var d0) (bv 32 0xffff0000)) (var mul_res1)) (bv 32 0x8000))) (set result_halfword0 (+ (- (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (bv 32 0x10) false) (var mul_res0)) (bv 32 0x8000))) (set d0 (let _a (cast 16 false (& (>> (let x (var result_halfword1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (let _b (cast 16 false (& (>> (let x (var result_halfword0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0x10) false) (bv 32 0xffff))) (append (var _a) (var _b))))) (set ov1 (|| (! (ule (var result_halfword1) (bv 32 0x7fffffff))) (&& (sle (var result_halfword1) (bv 32 0x80000000)) (! (== (var result_halfword1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_halfword0) (bv 32 0x7fffffff))) (&& (sle (var result_halfword0) (bv 32 0x80000000)) (! (== (var result_halfword0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_halfword0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubrs.q d0, d0, d0u, d0u, #0" 63009800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (- (var d0) (var mul_res)) (bv 32 0x8000))) (set d0 (& (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0xffff0000))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubrs.q d0, d0, d0l, d0l, #0" 63009c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (+ (- (var d0) (var mul_res)) (bv 32 0x8000))) (set d0 (& (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (bv 32 0xffff0000))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs d0, d0, d0, d0" 23008a00 0x0 (seq (set result (- (var d0) (* (var d0) (var d0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs d0, d0, d0, #0" 3300a000 0x0 (seq (set result (- (var d0) (* (var d0) (bv 32 0x0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs e0, e0, d0, #0" 3300e000 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 (msb (var d0)) (var d0)) (bv 64 0x0)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs e0, e0, d0, d0" 2300ea00 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (var d0)) (var d0))))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0ul, #0" a300e000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0lu, #0" a300e400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0ll, #0" a300e800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.h e0, e0, d0, d0uu, #0" a300ec00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result_word1 (- (var d1) (var mul_res1))) (set result_word0 (- (var d0) (var mul_res0))) (set temp (let _a (let x (var result_word1) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (let _b (let x (var result_word0) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x))))))) (append (var _a) (var _b))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0u, d0u, #0" 63009000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (var d0) (var mul_res))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0, d0u, #0" 63008000 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x10) false) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0x0)))) (bv 32 0x0) false)) (bv 32 0x10) false))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0, d0l, #0" 63008400 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x10) false) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false)) (bv 32 0x10) false))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0, d0, #0" 63008800 0x0 (seq (set result (cast 32 false (>> (- (<< (cast 64 false (var d0)) (bv 32 0x20) false) (<< (* (cast 64 false (var d0)) (cast 64 false (var d0))) (bv 32 0x0) false)) (bv 32 0x20) false))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q d0, d0, d0l, d0l, #0" 63009400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (var d0) (var mul_res))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0, d0u, #0" 6300e000 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0xffff)))) (bv 32 0x0) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0, d0l, #0" 6300e400 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0, d0, #0" 6300ec00 0x0 (seq (set result (- (append (var d1) (var d0)) (<< (* (cast 64 false (var d0)) (cast 64 false (var d0))) (bv 32 0x0) false))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0u, d0u, #0" 6300f000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (cast 64 false (<< (var mul_res) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.q e0, e0, d0l, d0l, #0" 6300f400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set mul_res (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set result (- (append (var d1) (var d0)) (cast 64 false (<< (var mul_res) (bv 32 0x10) false)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false) (bv 64 0x1)) (let max_neg (~- (<< (bv 64 0x1) (- (var y) (bv 64 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u d0, d0, d0, #0" 33008000 0x0 (seq (set result (- (var d0) (* (var d0) (bv 32 0x0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u d0, d0, d0, d0" 23008800 0x0 (seq (set result (- (var d0) (* (var d0) (var d0)))) (set d0 (let x (var result) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u e0, e0, d0, #0" 3300c000 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 false (var d0)) (bv 64 0x0)))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (var y) false) (bv 64 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 64 0x0)) (! (== (var x) (bv 64 0x0)))) (bv 64 0x0) (var x))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "msubs.u e0, e0, d0, d0" 2300e800 0x0 (seq (set result (- (append (var d1) (var d0)) (* (cast 64 false (var d0)) (cast 64 false (var d0))))) (set temp (let x (var result) (let y (bv 64 0x40) (let max_pos (- (<< (bv 64 0x1) (var y) false) (bv 64 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 64 0x0)) (! (== (var x) (bv 64 0x0)))) (bv 64 0x0) (var x))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sub d0, d15, d0" 5200 0x0 (seq (set result (- (var d15) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sub d15, d0, d0" 5a00 0x0 (seq (set result (- (var d0) (var d0))) (set d15 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sub d0, d0" a200 0x0 (seq (set result (- (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sub d0, d0, d0" 0b008000 0x0 (seq (set result (- (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sub.a sp, #0" 2000 0x0 (set a10 (- (var a10) (bv 32 0x0)))
d "sub.a a0, a0, a0" 01002000 0x0 (set a0 (- (var a0) (var a0)))
d "sub.h d0, d0, d0" 0b008006 0x0 (seq (set result_hw1 (- (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))))) (set result_hw0 (- (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)) (set ov1 (|| (! (ule (var result_hw1) (bv 16 0x7fff))) (&& (sle (var result_hw1) (bv 16 0x8000)) (! (== (var result_hw1) (bv 16 0x8000)))))) (set ov0 (|| (! (ule (var result_hw0) (bv 16 0x7fff))) (&& (sle (var result_hw0) (bv 16 0x8000)) (! (== (var result_hw0) (bv 16 0x8000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_hw1) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw1) (bv 16 0xe) false) (bv 16 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_hw0) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw0) (bv 16 0xe) false) (bv 16 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "subc d0, d0, d0" 0b00d000 0x0 (seq (set result (- (+ (var d0) (& (>> (var PSW) (bv 32 0x1f) false) (bv 32 0x1))) (+ (var d0) (bv 32 0x1)))) (set d0 (var result)) (set carry_out (& (>> (+ (+ (var d0) (~- (var d0))) (& (>> (var PSW) (bv 32 0x1f) false) (bv 32 0x1))) (bv 32 0x0) false) (bv 32 0x1))) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (var carry_out) (bv 32 0x1)) (bv 32 0x1f) false))))
d "subs d0, d0" 6200 0x0 (seq (set result (let x (- (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "subs d0, d0, d0" 0b00a000 0x0 (seq (set result (let x (- (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "subs.h d0, d0, d0" 0b00a006 0x0 (seq (set result_hw1 (let x (- (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false) (bv 16 0x1)) (let max_neg (~- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set result_hw0 (let x (- (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false) (bv 16 0x1)) (let max_neg (~- (<< (bv 16 0x1) (- (var y) (bv 16 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)) (set ov1 (|| (! (ule (var result_hw1) (bv 16 0x7fff))) (&& (sle (var result_hw1) (bv 16 0x8000)) (! (== (var result_hw1) (bv 16 0x8000)))))) (set ov0 (|| (! (ule (var result_hw0) (bv 16 0x7fff))) (&& (sle (var result_hw0) (bv 16 0x8000)) (! (== (var result_hw0) (bv 16 0x8000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_hw1) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw1) (bv 16 0xe) false) (bv 16 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_hw0) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw0) (bv 16 0xe) false) (bv 16 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "subs.hu d0, d0, d0" 0b00b006 0x0 (seq (set result_hw1 (let x (- (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (var y) false) (bv 16 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 16 0x0)) (! (== (var x) (bv 16 0x0)))) (bv 16 0x0) (var x))))))) (set result_hw0 (let x (- (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (let y (bv 16 0x10) (let max_pos (- (<< (bv 16 0x1) (var y) false) (bv 16 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 16 0x0)) (! (== (var x) (bv 16 0x0)))) (bv 16 0x0) (var x))))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)) (set ov1 (|| (! (ule (var result_hw1) (bv 16 0x7fff))) (&& (sle (var result_hw1) (bv 16 0x8000)) (! (== (var result_hw1) (bv 16 0x8000)))))) (set ov0 (|| (! (ule (var result_hw0) (bv 16 0x7fff))) (&& (sle (var result_hw0) (bv 16 0x8000)) (! (== (var result_hw0) (bv 16 0x8000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_hw1) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw1) (bv 16 0xe) false) (bv 16 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_hw0) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw0) (bv 16 0xe) false) (bv 16 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "subs.u d0, d0, d0" 0b00b000 0x0 (seq (set result (let x (- (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "subx d0, d0, d0" 0b00c000 0x0 (seq (set result (- (var d0) (var d0))) (set d0 (var result)) (set carry_out (& (>> (+ (+ (var d0) (~- (var d0))) (bv 32 0x1)) (bv 32 0x0) false) (bv 32 0x1))) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (var carry_out) (bv 32 0x1)) (bv 32 0x1f) false))))
d "sub.b d0, d0, d0" 0b008004 0x0 (seq (set result_byte3 (- (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x18) false) (bv 32 0xff))))) (set result_byte2 (- (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xff))))) (set result_byte1 (- (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff))))) (set result_byte0 (- (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))))) (set result (| (cast 32 false (<< (var result_byte3) (bv 32 0x18) false)) (| (cast 32 false (<< (var result_byte2) (bv 32 0x10) false)) (| (cast 32 false (<< (var result_byte1) (bv 32 0x8) false)) (cast 32 false (var result_byte0)))))) (set d0 (var result)) (set ov3 (|| (! (ule (var result_byte3) (bv 8 0x7f))) (&& (sle (var result_byte3) (bv 8 0x80)) (! (== (var result_byte3) (bv 8 0x80)))))) (set ov2 (|| (! (ule (var result_byte2) (bv 8 0x7f))) (&& (sle (var result_byte2) (bv 8 0x80)) (! (== (var result_byte2) (bv 8 0x80)))))) (set ov1 (|| (! (ule (var result_byte1) (bv 8 0x7f))) (&& (sle (var result_byte1) (bv 8 0x80)) (! (== (var result_byte1) (bv 8 0x80)))))) (set ov0 (|| (! (ule (var result_byte0) (bv 8 0x7f))) (&& (sle (var result_byte0) (bv 8 0x80)) (! (== (var result_byte0) (bv 8 0x80)))))) (set overflow (|| (|| (var ov1) (var ov0)) (|| (var ov3) (var ov2)))) (set aov3 (^^ (! (is_zero (& (>> (var result_byte3) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte3) (bv 8 0x6) false) (bv 8 0x1)))))) (set aov2 (^^ (! (is_zero (& (>> (var result_byte2) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte2) (bv 8 0x6) false) (bv 8 0x1)))))) (set aov1 (^^ (! (is_zero (& (>> (var result_byte1) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte1) (bv 8 0x6) false) (bv 8 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_byte0) (bv 8 0x7) false) (bv 8 0x1)))) (! (is_zero (& (>> (var result_byte0) (bv 8 0x6) false) (bv 8 0x1)))))) (set advanced_overflow (|| (|| (var aov1) (var aov0)) (|| (var aov3) (var aov2)))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sub.h d0, d0, d0" 0b008006 0x0 (seq (set result_hw1 (- (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))))) (set result_hw0 (- (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))))) (set result (| (cast 32 false (<< (var result_hw1) (bv 32 0x10) false)) (cast 32 false (var result_hw0)))) (set d0 (var result)) (set ov1 (|| (! (ule (var result_hw1) (bv 16 0x7fff))) (&& (sle (var result_hw1) (bv 16 0x8000)) (! (== (var result_hw1) (bv 16 0x8000)))))) (set ov0 (|| (! (ule (var result_hw0) (bv 16 0x7fff))) (&& (sle (var result_hw0) (bv 16 0x8000)) (! (== (var result_hw0) (bv 16 0x8000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_hw1) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw1) (bv 16 0xe) false) (bv 16 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_hw0) (bv 16 0xf) false) (bv 16 0x1)))) (! (is_zero (& (>> (var result_hw0) (bv 16 0xe) false) (bv 16 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "csub d0, d0, d0, d0" 2b002000 0x0 (seq (set result (- (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "csubn d0, d0, d0, d0" 2b003000 0x0 (seq (set result (- (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul d0, d0" e200 0x0 (seq (set result (* (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul d0, d0, #0" 53002000 0x0 (seq (set result (* (var d0) (bv 32 0x0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul d0, d0, d0" 73000a00 0x0 (seq (set result (* (var d0) (var d0))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul e0, d0, #0" 53006000 0x0 (seq (set result (* (cast 64 (msb (var d0)) (var d0)) (bv 64 0x0))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul e0, d0, d0" 73006a00 0x0 (seq (set result (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (var d0)) (var d0)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.h e0, d0, d0ul, #0" b3006000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (append (var result_word1) (var result_word0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.h e0, d0, d0lu, #0" b3006400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (append (var result_word1) (var result_word0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.h e0, d0, d0ll, #0" b3006800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (append (var result_word1) (var result_word0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.h e0, d0, d0uu, #0" b3006c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (append (var result_word1) (var result_word0))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q d0, d0, d0u, #0" 93000000 0x0 (seq (set result (cast 32 false (>> (<< (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (bv 32 0x0) false) (bv 32 0x10) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q d0, d0, d0l, #0" 93000400 0x0 (seq (set result (cast 32 false (>> (<< (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false) (bv 32 0x10) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q d0, d0, d0, #0" 93000800 0x0 (seq (set result (cast 32 false (>> (<< (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (var d0)) (var d0))) (bv 32 0x0) false) (bv 32 0x20) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q d0, d0u, d0u, #0" 93001000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q d0, d0l, d0l, #0" 93001400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result (ite (var sc) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q e0, d0, d0u, #0" 93006000 0x0 (seq (set result (<< (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (bv 32 0x0) false)) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q e0, d0, d0l, #0" 93006400 0x0 (seq (set result (<< (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (bv 32 0x0) false)) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.q e0, d0, d0, #0" 93006c00 0x0 (seq (set result (<< (* (cast 64 (msb (var d0)) (var d0)) (cast 64 (msb (var d0)) (var d0))) (bv 32 0x0) false)) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.u e0, d0, #0" 53004000 0x0 (seq (set result (* (cast 64 false (var d0)) (bv 64 0x0))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mul.u e0, d0, d0" 73006800 0x0 (seq (set result (* (cast 64 false (var d0)) (cast 64 false (var d0)))) (set temp (var result)) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set overflow (|| (! (ule (var result) (bv 64 0x7fffffffffffffff))) (&& (sle (var result) (bv 64 0x8000000000000000)) (! (== (var result) (bv 64 0x8000000000000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 64 0x3f) false) (bv 64 0x1)))) (! (is_zero (& (>> (var result) (bv 64 0x3e) false) (bv 64 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "muls d0, d0, #0" 5300a000 0x0 (seq (set result (let x (* (var d0) (bv 32 0x0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "muls d0, d0, d0" 73008a00 0x0 (seq (set result (let x (* (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "muls.u d0, d0, #0" 53008000 0x0 (seq (set result (let x (* (var d0) (bv 32 0x0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "muls.u d0, d0, d0" 73008800 0x0 (seq (set result (let x (* (var d0) (var d0)) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (var y) false) (bv 32 0x1)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (bv 32 0x0)) (! (== (var x) (bv 32 0x0)))) (bv 32 0x0) (var x))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulm.h e0, d0, d0ul, #0" b3007000 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulm.h e0, d0, d0lu, #0" b3007400 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulm.h e0, d0, d0ll, #0" b3007800 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulm.h e0, d0, d0uu, #0" b3007c00 0x0 (seq (set mul_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set mul_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mul_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mul_a) (bv 32 0x8000)) (&& (== (var mul_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (<< (* (var mul_a) (var mul_b)) (bv 32 0x0) false))) (set temp (cast 64 false (<< (+ (var result_word1) (var result_word0)) (bv 32 0x10) false))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulr.h d0, d0, d0ul, #0" b3003000 0x0 (seq (set mulr_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set mulr_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_word1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_word0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulr.h d0, d0, d0lu, #0" b3003400 0x0 (seq (set mulr_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set mulr_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_word1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_word0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulr.h d0, d0, d0ll, #0" b3003800 0x0 (seq (set mulr_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc1 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set mulr_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc0 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_word1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_word0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulr.h d0, d0, d0uu, #0" b3003c00 0x0 (seq (set mulr_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc1 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word1 (ite (var sc1) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set mulr_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc0 (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result_word0 (ite (var sc0) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result_word1) (bv 32 0x10) false) (bv 32 0xffff))) (cast 16 false (& (>> (var result_word0) (bv 32 0x10) false) (bv 32 0xffff))))) (set ov1 (|| (! (ule (var result_word1) (bv 32 0x7fffffff))) (&& (sle (var result_word1) (bv 32 0x80000000)) (! (== (var result_word1) (bv 32 0x80000000)))))) (set ov0 (|| (! (ule (var result_word0) (bv 32 0x7fffffff))) (&& (sle (var result_word0) (bv 32 0x80000000)) (! (== (var result_word0) (bv 32 0x80000000)))))) (set overflow (|| (var ov1) (var ov0))) (set aov1 (^^ (! (is_zero (& (>> (var result_word1) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word1) (bv 32 0x1e) false) (bv 32 0x1)))))) (set aov0 (^^ (! (is_zero (& (>> (var result_word0) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result_word0) (bv 32 0x1e) false) (bv 32 0x1)))))) (set advanced_overflow (|| (var aov1) (var aov0))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "mulr.q d0, d0u, d0u, #0" 93001800 0x0 (seq (set mulr_a (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set sc (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result (ite (var sc) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result) (bv 32 0x10) false) (bv 32 0xffff))) (bv 16 0x0))))
d "mulr.q d0, d0l, d0l, #0" 93001c00 0x0 (seq (set mulr_a (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set mulr_b (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set sc (&& (== (var mulr_a) (bv 32 0x8000)) (&& (== (var mulr_b) (bv 32 0x8000)) (== (bv 32 0x0) (bv 32 0x1))))) (set result (ite (var sc) (bv 32 0x7fffffff) (+ (<< (* (var mulr_a) (var mulr_b)) (bv 32 0x0) false) (bv 32 0x8000)))) (set d0 (append (cast 16 false (& (>> (var result) (bv 32 0x10) false) (bv 32 0xffff))) (bv 16 0x0))))
d "parity d0, d0" 4b002000 0x0 (set d0 (let _31_24 (ite (^^ (^^ (! (is_zero (& (>> (var d0) (bv 32 0x18) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x19) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x1a) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x1b) false) (bv 32 0x1))))))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x1c) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x1d) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x1e) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1)))))))) (bv 8 0x1) (bv 8 0x0)) (let _23_16 (ite (^^ (^^ (! (is_zero (& (>> (var d0) (bv 32 0x10) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x11) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x12) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x13) false) (bv 32 0x1))))))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x14) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x15) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x16) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x17) false) (bv 32 0x1)))))))) (bv 8 0x1) (bv 8 0x0)) (let _15_8 (ite (^^ (^^ (! (is_zero (& (>> (var d0) (bv 32 0x8) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x9) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0xa) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0xb) false) (bv 32 0x1))))))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0xc) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0xd) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0xe) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0xf) false) (bv 32 0x1)))))))) (bv 8 0x1) (bv 8 0x0)) (let _7_0 (ite (^^ (^^ (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x1) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x2) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x3) false) (bv 32 0x1))))))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x4) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x5) false) (bv 32 0x1)))) (^^ (! (is_zero (& (>> (var d0) (bv 32 0x6) false) (bv 32 0x1)))) (! (is_zero (& (>> (var d0) (bv 32 0x7) false) (bv 32 0x1)))))))) (bv 8 0x1) (bv 8 0x0)) (append (append (var _31_24) (var _23_16)) (append (var _15_8) (var _7_0))))))))
d "popcnt.w d0, d0" 4b002002 0x0 (seq (set cnt (bv 32 0x0)) (set _index (bv 32 0x0)) (repeat (&& (ule (var _index) (bv 32 0x20)) (! (== (var _index) (bv 32 0x20)))) (set name (ite (! (is_zero (& (>> (var d0) (var _index) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (bv 32 0x1)) false)))) (+ (var cnt) (bv 32 0x1)) (var cnt)))) (set d0 (var cnt)))
d "sat.b d0" 3200 0x0 (set d0 (let sat_neg (ite (&& (sle (var d0) (bv 32 0xffffff80)) (! (== (var d0) (bv 32 0xffffff80)))) (bv 32 0xffffff80) (var d0)) (ite (! (sle (var sat_neg) (bv 32 0x7f))) (bv 32 0x7f) (var sat_neg))))
d "sat.b d0, d0" 0b00e005 0x0 (set d0 (let sat_neg (ite (&& (sle (var d0) (bv 32 0xffffff80)) (! (== (var d0) (bv 32 0xffffff80)))) (bv 32 0xffffff80) (var d0)) (ite (! (sle (var sat_neg) (bv 32 0x7f))) (bv 32 0x7f) (var sat_neg))))
d "sat.bu d0" 3210 0x0 (set d0 (ite (! (sle (var d0) (bv 32 0xff))) (bv 32 0xff) (var d0)))
d "sat.bu d0, d0" 0b00f005 0x0 (set d0 (ite (! (sle (var d0) (bv 32 0xff))) (bv 32 0xff) (var d0)))
d "sat.h d0" 3220 0x0 (set d0 (let sat_neg (ite (&& (sle (var d0) (bv 32 0xffff8000)) (! (== (var d0) (bv 32 0xffff8000)))) (bv 32 0xffff8000) (var d0)) (ite (! (sle (var sat_neg) (bv 32 0x7fff))) (bv 32 0x7fff) (var sat_neg))))
d "sat.h d0, d0" 0b00e007 0x0 (set d0 (let sat_neg (ite (&& (sle (var d0) (bv 32 0xffff8000)) (! (== (var d0) (bv 32 0xffff8000)))) (bv 32 0xffff8000) (var d0)) (ite (! (sle (var sat_neg) (bv 32 0x7fff))) (bv 32 0x7fff) (var sat_neg))))
d "sat.hu d0" 3230 0x0 (set d0 (ite (! (sle (var d0) (bv 32 0xffff))) (bv 32 0xffff) (var d0)))
d "sat.hu d0, d0" 0b00f007 0x0 (set d0 (ite (! (sle (var d0) (bv 32 0xffff))) (bv 32 0xffff) (var d0)))
d "sel d0, d0, d0, d0" 2b004000 0x0 (set d0 (ite (! (is_zero (var d0))) (var d0) (var d0)))
d "sel d0, d0, d0, #0" ab008000 0x0 (set d0 (ite (! (is_zero (var d0))) (var d0) (bv 32 0x0)))
d "seln d0, d0, d0, d0" 2b005000 0x0 (set d0 (ite (is_zero (var d0)) (var d0) (var d0)))
d "seln d0, d0, d0, #0" ab00a000 0x0 (set d0 (ite (is_zero (var d0)) (var d0) (bv 32 0x0)))
d "mfcr d0, #0xfe04" 4d40e00f 0x0 (set d0 (var PSW))
d "mtcr #-0x1fc, d0" cd40e00f 0x0 (set PSW (var d0))
d "bmerge d0, d0, d0" 4b001000 0x0 (set d0 (append (append (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0xf) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0xf) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0xe) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0xe) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0xd) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0xd) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0xc) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0xc) false) (bv 32 0x1)) (bv 32 0x0) false)))))) (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0xb) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0xb) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0xa) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0xa) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0x9) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0x9) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0x0) false))))))) (append (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0x7) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0x7) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0x5) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0x5) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0x4) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0x4) false) (bv 32 0x1)) (bv 32 0x0) false)))))) (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0x3) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0x3) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0x2) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0x2) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0) false)))))))))
d "bsplit e0, d0" 4b009000 0x0 (seq (set temp (| (<< (cast 64 false (append (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0x1f) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0x1d) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0x1b) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0x19) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0x17) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0x15) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0x13) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0x11) false) (bv 32 0x1)) (bv 32 0x0) false)))))) (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0xf) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0xd) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0xb) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0x9) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0x7) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0x5) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0x3) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x0) false)))))))) (bv 32 0x20) false) (cast 64 false (append (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0x1e) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0x1c) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0x1a) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0x18) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0x16) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0x14) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0x12) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0x10) false) (bv 32 0x1)) (bv 32 0x0) false)))))) (cast 8 false (| (| (<< (& (>> (var d0) (bv 32 0xe) false) (bv 32 0x1)) (bv 32 0x7) false) (| (<< (& (>> (var d0) (bv 32 0xc) false) (bv 32 0x1)) (bv 32 0x6) false) (| (<< (& (>> (var d0) (bv 32 0xa) false) (bv 32 0x1)) (bv 32 0x5) false) (<< (& (>> (var d0) (bv 32 0x8) false) (bv 32 0x1)) (bv 32 0x4) false)))) (| (<< (& (>> (var d0) (bv 32 0x6) false) (bv 32 0x1)) (bv 32 0x3) false) (| (<< (& (>> (var d0) (bv 32 0x4) false) (bv 32 0x1)) (bv 32 0x2) false) (| (<< (& (>> (var d0) (bv 32 0x2) false) (bv 32 0x1)) (bv 32 0x1) false) (<< (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x1)) (bv 32 0x0) false)))))))))) (set d0 (cast 32 false (var temp))) (set d1 (cast 32 false (& (>> (var temp) (bv 64 0x20) false) (bv 64 0xffffffff)))))
d "shuffle d0, d0, #0" 8f00e000 0x0 (set d0 (let A (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (let B (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (let C (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (let D (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (append (var A) (append (var B) (append (var C) (var D)))))))))
d "sha d0, #0" 8600 0x0 (seq (set carry_out (let shift_count (bv 32 0x0) (ite (|| (! (sle (var shift_count) (bv 32 0x0))) (== (var shift_count) (bv 32 0x0))) (&& (! (is_zero (var shift_count))) (! (is_zero (& (>> (var d0) (- (bv 32 0x20) (var shift_count)) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (+ (var shift_count) (bv 32 0x1))) false))))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (~- (var shift_count))) false))))))) (set result (let sh_c (bv 32 0x0) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x))))))) (set d0 (var result)) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (ite (var carry_out) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1f) false))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sha d0, d0, d0" 0f001000 0x0 (seq (set carry_out (let shift_count (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x6)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false))))) (ite (|| (! (sle (var shift_count) (bv 32 0x0))) (== (var shift_count) (bv 32 0x0))) (&& (! (is_zero (var shift_count))) (! (is_zero (& (>> (var d0) (- (bv 32 0x20) (var shift_count)) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (+ (var shift_count) (bv 32 0x1))) false))))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (~- (var shift_count))) false))))))) (set result (let sh_c (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x6)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false))))) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x))))))) (set d0 (var result)) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (ite (var carry_out) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1f) false))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sha d0, d0, #0" 8f002000 0x0 (seq (set carry_out (let shift_count (bv 32 0x0) (ite (|| (! (sle (var shift_count) (bv 32 0x0))) (== (var shift_count) (bv 32 0x0))) (&& (! (is_zero (var shift_count))) (! (is_zero (& (>> (var d0) (- (bv 32 0x20) (var shift_count)) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (+ (var shift_count) (bv 32 0x1))) false))))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (>> (bv 32 0xffffffff) (- (bv 32 0x20) (~- (var shift_count))) false))))))) (set result (let sh_c (bv 32 0x0) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x))))))) (set d0 (var result)) (set PSW (| (& (var PSW) (bv 32 0x7fffffff)) (<< (& (ite (var carry_out) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1f) false))) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sha.h d0, d0, d0" 0f001004 0x0 (set d0 (let shift_count (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x6)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false))))) (append (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x))))))) (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x))))))))))
d "sha.h d0, d0, #0" 8f002008 0x0 (set d0 (let shift_count (bv 32 0x0) (append (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x))))))) (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x))))))))))
d "shas d0, d0, d0" 0f002000 0x0 (seq (set result (let x (let sh_c (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x6)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false))))) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x)))))) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "shas d0, d0, #0" 8f004000 0x0 (seq (set result (let x (let sh_c (bv 32 0x0) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) (msb (var sh_x)))))) (let y (bv 32 0x20) (let max_pos (- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false) (bv 32 0x1)) (let max_neg (~- (<< (bv 32 0x1) (- (var y) (bv 32 0x1)) false)) (ite (! (sle (var x) (var max_pos))) (var max_pos) (ite (&& (sle (var x) (var max_neg)) (! (== (var x) (var max_neg)))) (var max_neg) (var x)))))))) (set d0 (var result)) (set overflow (|| (! (ule (var result) (bv 32 0x7fffffff))) (&& (sle (var result) (bv 32 0x80000000)) (! (== (var result) (bv 32 0x80000000)))))) (set advanced_overflow (^^ (! (is_zero (& (>> (var result) (bv 32 0x1f) false) (bv 32 0x1)))) (! (is_zero (& (>> (var result) (bv 32 0x1e) false) (bv 32 0x1)))))) (set PSW (| (& (var PSW) (bv 32 0xbfffffff)) (<< (& (ite (var overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1e) false))) (set PSW (| (& (var PSW) (bv 32 0xefffffff)) (<< (& (ite (var advanced_overflow) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1)) (bv 32 0x1c) false))) (branch (var overflow) (set PSW (| (& (var PSW) (bv 32 0xdfffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1d) false))) nop) (branch (var advanced_overflow) (set PSW (| (& (var PSW) (bv 32 0xf7ffffff)) (<< (& (bv 32 0x1) (bv 32 0x1)) (bv 32 0x1b) false))) nop))
d "sh d0, #0" 0600 0x0 (set d0 (let sh_c (bv 32 0x0) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) false)))))
d "sh d0, d0, d0" 0f000000 0x0 (set d0 (let sh_c (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x6)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false))))) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) false)))))
d "sh d0, d0, #0" 8f000000 0x0 (set d0 (let sh_c (bv 32 0x0) (let sh_x (var d0) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) false)))))
d "sh.h d0, d0, d0" 0f000004 0x0 (set d0 (let shift_count (let _sext_val (cast 32 (msb (var d0)) (var d0)) (>> (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false)) (- (bv 32 0x20) (bv 32 0x6)) (msb (cast 32 false (<< (var _sext_val) (- (- (bv 32 0x20) (bv 32 0x6)) (bv 32 0x0)) false))))) (append (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) false))))) (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) false))))))))
d "sh.h d0, d0, #0" 8f000008 0x0 (set d0 (let shift_count (bv 32 0x0) (append (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) false))))) (cast 16 false (let sh_c (var shift_count) (let sh_x (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)) (ite (! (sle (var sh_c) (bv 32 0x0))) (<< (var sh_x) (var sh_c) false) (>> (var sh_x) (~- (var sh_c)) false))))))))
d "st.a [sp]#0, a15" f800 0x0 (storew 0 (+ (var a10) (bv 32 0x0)) (cast 32 false (var a15)))
d "st.a [a0]#0, a15" ec00 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 32 false (var a15)))
d "st.a [a15]#0, a0" e800 0x0 (storew 0 (+ (var a15) (bv 32 0x0)) (cast 32 false (var a0)))
d "st.a [a0+], a0" e400 0x0 (seq (storew 0 (var a0) (cast 32 false (var a0))) (set a0 (+ (var a0) (bv 32 0x4))))
d "st.a [a0], a0" f400 0x0 (storew 0 (var a0) (cast 32 false (var a0)))
d "st.a [a0]#0, a0" b5000000 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 32 false (var a0)))
d "st.a [a0+]#0, a0" 89008001 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (var a0)) (set a0 (+ (var EA) (bv 32 0x0))))
d "st.a [p0+r], a0" a9008001 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (var a0)) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (append (cast 16 false (var incr)) (cast 16 false (var new_index)))))
d "st.a [+a0]#0, a0" 89008005 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (var a0)) (set a0 (var EA)))
d "st.a [p0+c]#0, a0" a9008005 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (var a0)) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "st.a #0, a0" a5000008 0x0 (storew 0 (bv 32 0x0) (var a0))
d "st.a [a0]#0, a0" 89008009 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (var a0))
d "st.b [a0], d0" 3400 0x0 (storew 0 (var a0) (cast 8 false (var d0)))
d "st.b [a15]#0, d0" 2800 0x0 (storew 0 (+ (var a15) (bv 32 0x0)) (cast 8 false (var d0)))
d "st.b [a0]#0, d15" 2c00 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 8 false (var a15)))
d "st.b [a0+], d0" 2400 0x0 (seq (storew 0 (var a0) (cast 8 false (var d0))) (set a0 (+ (var a0) (bv 32 0x1))))
d "st.b [a0]#0, d0" e9000000 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 8 false (var d0)))
d "st.b #0, d0" 25000000 0x0 (storew 0 (bv 32 0x0) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))))
d "st.b [a0+]#0, d0" 89000000 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (set a0 (+ (var EA) (bv 32 0x0))))
d "st.b [p0+r], d0" a9000000 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (cast 8 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (append (cast 16 false (var incr)) (cast 16 false (var new_index)))))
d "st.b [+a0]#0, d0" 89000004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff))) (set a0 (var EA)))
d "st.b [p0+c]#0, d0" a9000004 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (cast 8 false (var d0))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "st.b [a0]#0, d0" 89000008 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)))
d "st.d [a0+]#0, e0" 89004001 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (append (var d1) (var d0))) (set a0 (+ (var EA) (bv 32 0x0))))
d "st.d [p0+r], e0" a9004001 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (cast 8 false (& (>> (append (var d1) (var d0)) (bv 64 0x0) false) (bv 64 0xff)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (append (cast 16 false (var incr)) (cast 16 false (var new_index)))))
d "st.d #0, e0" a5000004 0x0 (storew 0 (bv 32 0x0) (append (var d1) (var d0)))
d "st.d [+a0]#0, e0" 89004005 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (append (var d1) (var d0))) (set a0 (var EA)))
d "st.d [p0+c]#0, e0" a9004005 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA0 (+ (var a0) (var index))) (set EA2 (+ (var a0) (mod (+ (var index) (bv 32 0x2)) (var length)))) (set EA4 (+ (var a0) (mod (+ (var index) (bv 32 0x4)) (var length)))) (set EA6 (+ (var a0) (mod (+ (var index) (bv 32 0x6)) (var length)))) (storew 0 (var EA0) (cast 16 false (var d0))) (storew 0 (var EA2) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (storew 0 (var EA4) (cast 16 false (var d1))) (storew 0 (var EA6) (cast 16 false (& (>> (var d1) (bv 32 0x10) false) (bv 32 0xffff)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "st.d [a0]#0, e0" 89004009 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (append (var d1) (var d0)))
d "st.da [a0+]#0, p0" 8900c001 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (append (var a1) (var a0))) (set a0 (+ (var EA) (bv 32 0x0))))
d "st.da [p0+r], p0" a900c001 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (append (var a1) (var a0))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (append (cast 16 false (var incr)) (cast 16 false (var new_index)))))
d "st.da [+a0]#0, p0" 8900c005 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (append (var a1) (var a0))) (set a0 (var EA)))
d "st.da [p0+c]#0, p0" a900c005 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA0 (+ (var a0) (var index))) (set EA4 (+ (var a0) (mod (+ (var index) (bv 32 0x4)) (var length)))) (storew 0 (var EA0) (var a0)) (storew 0 (var EA4) (var a1)) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "st.da [a0]#0, p0" 8900c009 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (append (var a1) (var a0)))
d "st.da #0, p0" a500000c 0x0 (storew 0 (bv 32 0x0) (append (var a1) (var a0)))
d "st.h [a0+], d0" a400 0x0 (seq (storew 0 (var a0) (cast 32 false (var d0))) (set a0 (+ (var a0) (bv 32 0x4))))
d "st.h [a15]#0, d0" a800 0x0 (storew 0 (+ (var a15) (bv 32 0x0)) (cast 32 false (var d0)))
d "st.h [a0]#0, d15" ac00 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 32 false (var a15)))
d "st.h [a0], d0" b400 0x0 (storew 0 (var a0) (cast 32 false (var d0)))
d "st.h [a0]#0, d0" f9000000 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 16 false (var d0)))
d "st.h [a0+]#0, d0" 89008000 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set a0 (+ (var EA) (bv 32 0x0))))
d "st.h [p0+r], d0" a9008000 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (append (cast 16 false (var incr)) (cast 16 false (var new_index)))))
d "st.h [+a0]#0, d0" 89008004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))) (set a0 (var EA)))
d "st.h [p0+c]#0, d0" a9008004 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (cast 16 false (var d0))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "st.h #0, d0" 25000008 0x0 (storew 0 (bv 32 0x0) (cast 16 false (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff))))
d "st.h [a0]#0, d0" 89008008 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xffff)))
d "st.q #0, d0" 65000000 0x0 (storew 0 (bv 32 0x0) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))))
d "st.q [a0+]#0, d0" 89000002 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set a0 (+ (var EA) (bv 32 0x0))))
d "st.q [p0+r], d0" a9000002 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (append (cast 16 false (var incr)) (cast 16 false (var new_index)))))
d "st.q [+a0]#0, d0" 89000006 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff))) (set a0 (var EA)))
d "st.q [p0+c]#0, d0" a9000006 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (cast 16 false (>> (var d0) (bv 32 0x10) false))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "st.q [a0]#0, d0" 8900000a 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))
d "st.t #0, #0, #0" d5000000 0x0 (store 0 (bv 32 0x0) (| (& (load 0 (bv 32 0x0)) (bv 8 0xfe)) (bv 8 0x0)))
d "st.w [sp]#0, d15" 7800 0x0 (storew 0 (+ (var a10) (bv 32 0x0)) (cast 32 false (var d15)))
d "st.w [a0], d0" 7400 0x0 (storew 0 (var a0) (cast 32 false (var d0)))
d "st.w [a0+], d0" 6400 0x0 (seq (storew 0 (var a0) (cast 32 false (var d0))) (set a0 (+ (var a0) (bv 32 0x4))))
d "st.w [a15]#0, d0" 6800 0x0 (storew 0 (+ (var a15) (bv 32 0x0)) (cast 32 false (var d0)))
d "st.w [a0]#0, d15" 6c00 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 32 false (var a15)))
d "st.w [a0]#0, d0" 59000000 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (cast 32 false (var d0)))
d "st.w #0, d0" a5000000 0x0 (storew 0 (bv 32 0x0) (var d0))
d "st.w [a0+]#0, d0" 89000001 0x0 (seq (set EA (var a0)) (storew 0 (var EA) (var d0)) (set a0 (+ (var EA) (bv 32 0x0))))
d "st.w [p0+r], d0" a9000001 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (storew 0 (var EA) (var d0)) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a1 (append (cast 16 false (var incr)) (cast 16 false (var new_index)))))
d "st.w [+a0]#0, d0" 89000005 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (var d0)) (set a0 (var EA)))
d "st.w [p0+c]#0, d0" a9000005 0x0 (seq (set index (& (>> (var a1) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a1) (bv 32 0x10) false) (bv 32 0xffff))) (set EA0 (+ (var a0) (var index))) (set EA2 (+ (var a0) (mod (+ (var index) (bv 32 0x2)) (var length)))) (storew 0 (var EA0) (cast 16 false (var d0))) (storew 0 (var EA2) (cast 16 false (& (>> (var d0) (bv 32 0x10) false) (bv 32 0xffff)))) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a1 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "st.w [a0]#0, d0" 89000009 0x0 (storew 0 (+ (var a0) (bv 32 0x0)) (var d0))
d "stlcx #0" 15000000 0x0 (seq (set EA (bv 32 0x0)) (storew 0 (var EA) (var d12)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d13)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d14)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d15)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a12)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x4)) (var a13)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x8)) (var a14)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0xc)) (var a15)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d8)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x4)) (var d9)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x8)) (var d10)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0xc)) (var d11)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a10)) (storew 0 (+ (+ (var EA) (bv 32 0x30)) (bv 32 0x4)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x38)) (var PSW)) (storew 0 (+ (+ (var EA) (bv 32 0x38)) (bv 32 0x4)) (var PCXI)))
d "stlcx [a0]#0" 49008009 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (var d12)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d13)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d14)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d15)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a12)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x4)) (var a13)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x8)) (var a14)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0xc)) (var a15)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d8)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x4)) (var d9)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x8)) (var d10)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0xc)) (var d11)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a10)) (storew 0 (+ (+ (var EA) (bv 32 0x30)) (bv 32 0x4)) (var a11)) (storew 0 (+ (var EA) (bv 32 0x38)) (var PSW)) (storew 0 (+ (+ (var EA) (bv 32 0x38)) (bv 32 0x4)) (var PCXI)))
d "stucx #0" 15000004 0x0 (seq (set EA (bv 32 0x0)) (storew 0 (var EA) (var d4)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d5)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d6)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d7)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a4)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x4)) (var a5)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x8)) (var a6)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0xc)) (var a7)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d0)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x4)) (var d1)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x8)) (var d2)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0xc)) (var d3)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a2)) (storew 0 (+ (+ (var EA) (bv 32 0x30)) (bv 32 0x4)) (var a3)) (storew 0 (+ (var EA) (bv 32 0x38)) (var a11)) (storew 0 (+ (+ (var EA) (bv 32 0x38)) (bv 32 0x4)) (var PCXI)))
d "stucx [a0]#0" 4900c009 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (storew 0 (var EA) (var d4)) (storew 0 (+ (var EA) (bv 32 0x4)) (var d5)) (storew 0 (+ (var EA) (bv 32 0x8)) (var d6)) (storew 0 (+ (var EA) (bv 32 0xc)) (var d7)) (storew 0 (+ (var EA) (bv 32 0x10)) (var a4)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x4)) (var a5)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0x8)) (var a6)) (storew 0 (+ (+ (var EA) (bv 32 0x10)) (bv 32 0xc)) (var a7)) (storew 0 (+ (var EA) (bv 32 0x20)) (var d0)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x4)) (var d1)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0x8)) (var d2)) (storew 0 (+ (+ (var EA) (bv 32 0x20)) (bv 32 0xc)) (var d3)) (storew 0 (+ (var EA) (bv 32 0x30)) (var a2)) (storew 0 (+ (+ (var EA) (bv 32 0x30)) (bv 32 0x4)) (var a3)) (storew 0 (+ (var EA) (bv 32 0x38)) (var a11)) (storew 0 (+ (+ (var EA) (bv 32 0x38)) (bv 32 0x4)) (var PCXI)))
d "swapmsk.w [a0+]#0, e0" 49008000 0x0 (seq (set EA (var a0)) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (| (& (var tmp) (~ (var d1))) (& (var d0) (var d1)))) (set d0 (var tmp)) (set a0 (+ (var EA) (bv 32 0x0))))
d "swapmsk.w [p0+r], e0" 69008000 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set incr (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a1) (var index))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (| (& (var tmp) (~ (var d1))) (& (var d0) (var d1)))) (set d0 (var tmp)) (set new_index (let tmp (+ (let tmp (var index) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false))) (let tmp (var incr) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x8) false) (bv 32 0xff)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x4) false) (bv 32 0xf)) (| (let tmp (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (<< (let tmp (& (>> (var tmp) (bv 32 0x2) false) (bv 32 0x3)) (| (& (>> (var tmp) (bv 32 0x0) false) (bv 32 0x1)) (<< (& (>> (var tmp) (bv 32 0x1) false) (bv 32 0x1)) (bv 32 0x1) false))) (bv 32 0x2) false))) (bv 32 0x4) false))) (bv 32 0x8) false)))) (set a0 (| (<< (var incr) (bv 32 0x10) false) (var new_index))))
d "swapmsk.w [+a0]#0, e0" 49008004 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (| (& (var tmp) (~ (var d1))) (& (var d0) (var d1)))) (set d0 (var tmp)) (set a0 (var EA)))
d "swapmsk.w [p0+c]#0, e0" 69008004 0x0 (seq (set index (& (>> (var a0) (bv 32 0x0) false) (bv 32 0xffff))) (set length (& (>> (var a0) (bv 32 0x10) false) (bv 32 0xffff))) (set EA (+ (var a0) (var index))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (| (& (var tmp) (~ (var d1))) (& (var d0) (var d1)))) (set d0 (var tmp)) (set new_index (+ (var index) (bv 32 0x0))) (set new_index (ite (sle (var new_index) (bv 32 0x0)) (+ (var new_index) (var length)) (mod (var new_index) (var length)))) (set a0 (append (cast 16 false (var length)) (cast 16 false (var new_index)))))
d "swapmsk.w [a0]#0, e0" 49008008 0x0 (seq (set EA (+ (var a0) (bv 32 0x0))) (set tmp (loadw 0 32 (var EA))) (storew 0 (var EA) (| (& (var tmp) (~ (var d1))) (& (var d0) (var d1)))) (set d0 (var tmp)))
d "swapmsk.w [p0+i], e0" 69008008
d "updfl d0" 4b00c100 0x0 (set PSW (| (& (var PSW) (bv 32 0xffffff)) (<< (& (| (& (& (>> (var PSW) (bv 32 0x18) false) (bv 32 0xff)) (~ (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))) (& (& (>> (var d0) (bv 32 0x0) false) (bv 32 0xff)) (& (>> (var d0) (bv 32 0x8) false) (bv 32 0xff)))) (bv 32 0xff)) (bv 32 0x18) false)))
d "cmp.f d0, d0, d0" 4b000000 0x0 (set d0 (| (ite (&& (! (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) )))) (<. (float 0 (var d0) ) (float 0 (var d0) ))) (bv 32 0x1) (bv 32 0x0)) (| (<< (ite (&& (! (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) )))) (! (|| (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) ))) (|| (<. (float 0 (var d0) ) (float 0 (var d0) )) (<. (float 0 (var d0) ) (float 0 (var d0) )))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x1) false) (| (<< (ite (&& (! (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) )))) (! (&& (! (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) )))) (|| (&& (! (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) )))) (<. (float 0 (var d0) ) (float 0 (var d0) ))) (&& (! (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) )))) (! (|| (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) ))) (|| (<. (float 0 (var d0) ) (float 0 (var d0) )) (<. (float 0 (var d0) ) (float 0 (var d0) )))))))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x2) false) (| (<< (ite (|| (is_nan (float 0 (var d0) )) (is_nan (float 0 (var d0) ))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x3) false) (| (<< (ite (&& (is_zero (& (>> (var d0) (bv 32 0x17) false) (bv 32 0xff))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x7fffff))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x4) false) (<< (ite (&& (is_zero (& (>> (var d0) (bv 32 0x17) false) (bv 32 0xff))) (! (is_zero (& (>> (var d0) (bv 32 0x0) false) (bv 32 0x7fffff))))) (bv 32 0x1) (bv 32 0x0)) (bv 32 0x5) false)))))))
