123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115(**************************************************************************)(* This file is part of the Codex semantics library. *)(* *)(* Copyright (C) 2013-2025 *)(* CEA (Commissariat à l'énergie atomique et aux énergies *)(* alternatives) *)(* *)(* you can redistribute it and/or modify it under the terms of the GNU *)(* Lesser General Public License as published by the Free Software *)(* Foundation, version 2.1. *)(* *)(* It is distributed in the hope that it will be useful, *)(* but WITHOUT ANY WARRANTY; without even the implied warranty of *)(* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *)(* GNU Lesser General Public License for more details. *)(* *)(* See the GNU Lesser General Public License version 2.1 *)(* for more details (enclosed in the file LICENSE). *)(* *)(**************************************************************************)moduleInteger_Backward=structletassume__=assertfalseletiunknown()=assertfalseletimod__=assertfalseletidiv__=assertfalseletimul__=assertfalseletiadd__=assertfalseletitimesk_=assertfalseletige0_=assertfalseletieq0_=assertfalseletishl__=assertfalseletishr__=assertfalseletior__=assertfalseletixor__=assertfalseletiand__=assertfalseletone=()letzero=oneletisub_=assertfalseletieq_=assertfalseletile_=assertfalseletilt_=assertfalseleticonst_=()endmoduleInteger_Forward=structincludeInteger_BackwardendmoduleBitvector_Backward=structletbeq~size__=assertfalseletbiule~size__=assertfalseletbisle~size__=assertfalseletbitimes~size__=assertfalseletbiadd~size~flags__=assertfalseletbisub~size~flags__=assertfalseletbimul~size~flags__=assertfalseletbimul_add~size~prod~offset_=assertfalseletbxor~size__=assertfalseletband~size__=assertfalseletbor~size__=assertfalseletnondet~sizelresult=assertfalseletassume~size__=assertfalseletbsext~size~oldsize_=assertfalseletbuext~size~oldsize_=assertfalseletbofbool~size_=assertfalseletbashr~size__=assertfalseletblshr~size__=assertfalseletbshl~size~flags__=assertfalseletbisdiv~size__=assertfalseletbiudiv~size__=assertfalseletbconcat~size1~size2ab=assertfalseletbismod~size__=assertfalseletbiumod~size__=assertfalseletbextract~size~index~oldsize_=assertfalseletvalid~size_=assertfalseletvalid_ptr_arith~size_=assertfalseletbuninit~size=assertfalseletbunknown~size=assertfalseletbaddr~size_=assertfalseletbiconst~size_=assertfalseletbshift~size~offset~max=assertfalseletbindex~size_=assertfalseendmoduleBitvector_Forward=Bitvector_BackwardmoduleBinary_Backward=Bitvector_BackwardmoduleBinary_Forward=Bitvector_ForwardmoduleEnum_Backward=structletcaseof~case_=assertfalseletenum_const~case=assertfalseendmoduleEnum_Forward=Enum_BackwardmoduleBlock_Forward=structletsizeof_=assertfalseletconcat_=assertfalseletload~size_=assertfalseletstore~size_=assertfalseletbinary_to_block~size_=assertfalseendmoduleBlock_Backward=Block_Forward;;moduleMemory_Backward=structletvar_=assertfalseletnondet_=assertfalseletassume_=assertfalseletstore~size_=assertfalseletmemcpy~size_=assertfalseletload~size_=assertfalseletmalloc~id~malloc_size_=assertfalseletfree_=assertfalseletunknown_=assertfalseendmoduleMemory_Forward=Memory_Backward;;