val va_codegen_success_Copy16 : t:taint -> Tot va_pbool
let va_codegen_success_Copy16 t =
  (va_pbool_and (va_codegen_success_Load64_buffer (va_op_heaplet_mem_heaplet 0)
    (va_op_dst_opr64_reg64 rRax) (va_op_reg_opr64_reg64 rRsi) 0 t) (va_pbool_and
    (va_codegen_success_Load64_buffer (va_op_heaplet_mem_heaplet 0) (va_op_dst_opr64_reg64 rRcx)
    (va_op_reg_opr64_reg64 rRsi) 8 t) (va_pbool_and (va_codegen_success_Store64_buffer
    (va_op_heaplet_mem_heaplet 0) (va_op_reg_opr64_reg64 rRdi) (va_op_reg_opr64_reg64 rRax) 0 t)
    (va_pbool_and (va_codegen_success_Store64_buffer (va_op_heaplet_mem_heaplet 0)
    (va_op_reg_opr64_reg64 rRdi) (va_op_reg_opr64_reg64 rRcx) 8 t) (va_ttrue ())))))
val va_codegen_success_Copy16 : t:taint -> Tot va_pbool
let va_codegen_success_Copy16 t =
(va_pbool_and (va_codegen_success_Load64_buffer (va_op_heaplet_mem_heaplet 0)
        (va_op_dst_opr64_reg64 rRax)
        (va_op_reg_opr64_reg64 rRsi)
        0
        t)
    (va_pbool_and (va_codegen_success_Load64_buffer (va_op_heaplet_mem_heaplet 0)
            (va_op_dst_opr64_reg64 rRcx)
            (va_op_reg_opr64_reg64 rRsi)
            8
            t)
        (va_pbool_and (va_codegen_success_Store64_buffer (va_op_heaplet_mem_heaplet 0)
                (va_op_reg_opr64_reg64 rRdi)
                (va_op_reg_opr64_reg64 rRax)
                0
                t)
            (va_pbool_and (va_codegen_success_Store64_buffer (va_op_heaplet_mem_heaplet 0)
                    (va_op_reg_opr64_reg64 rRdi)
                    (va_op_reg_opr64_reg64 rRcx)
                    8
                    t)
                (va_ttrue ())))))
Vale.Test.X64.Memcpy.fst.checked
Vale.X64.State.fsti.checked Vale.X64.Memory.fsti.checked Vale.X64.Machine_s.fst.checked Vale.X64.InsMem.fsti.checked Vale.X64.InsBasic.fsti.checked Vale.X64.Decls.fsti.checked Vale.Arch.HeapImpl.fsti.checked prims.fst.checked FStar.Pervasives.Native.fst.checked FStar.Pervasives.fsti.checked
Vale.Test.X64.Memcpy.fst
Vale.Arch.HeapTypes_s.taint Vale.X64.Decls.va_pbool_and Vale.X64.InsMem.va_codegen_success_Load64_buffer Vale.X64.Decls.va_op_heaplet_mem_heaplet Vale.X64.Decls.va_op_dst_opr64_reg64 Vale.X64.Machine_s.rRax Vale.X64.Decls.va_op_reg_opr64_reg64 Vale.X64.Machine_s.rRsi Vale.X64.Machine_s.rRcx Vale.X64.InsMem.va_codegen_success_Store64_buffer Vale.X64.Machine_s.rRdi Vale.X64.Decls.va_ttrue Vale.X64.Decls.va_pbool
module Vale.Test.X64.Memcpy
open Vale.Arch.HeapImpl
open Vale.X64.Machine_s
open Vale.X64.Memory
open Vale.X64.State
open Vale.X64.Decls
open Vale.X64.InsBasic
open Vale.X64.InsMem
#reset-options "--z3rlimit 20"
//-- Copy16

val va_code_Copy16 : t:taint -> Tot va_code
[@ "opaque_to_smt"]
let va_code_Copy16 t =
  (va_Block (va_CCons (va_code_Load64_buffer (va_op_heaplet_mem_heaplet 0) (va_op_dst_opr64_reg64
    rRax) (va_op_reg_opr64_reg64 rRsi) 0 t) (va_CCons (va_code_Load64_buffer
    (va_op_heaplet_mem_heaplet 0) (va_op_dst_opr64_reg64 rRcx) (va_op_reg_opr64_reg64 rRsi) 8 t)
    (va_CCons (va_code_Store64_buffer (va_op_heaplet_mem_heaplet 0) (va_op_reg_opr64_reg64 rRdi)
    (va_op_reg_opr64_reg64 rRax) 0 t) (va_CCons (va_code_Store64_buffer (va_op_heaplet_mem_heaplet
    0) (va_op_reg_opr64_reg64 rRdi) (va_op_reg_opr64_reg64 rRcx) 8 t) (va_CNil ()))))))

val va_codegen_success_Copy16 : t:taint -> Tot va_pbool
[@ "opaque_to_smt"]
val va_codegen_success_Copy16 : t:taint -> Tot va_pbool
t: Vale.Arch.HeapTypes_s.taint -> Vale.X64.Decls.va_pbool