val va_codegen_success_KeyExpansionStdcall : win:bool -> alg:algorithm -> Tot va_pbool
let va_codegen_success_KeyExpansionStdcall win alg =
  (va_pbool_and (va_codegen_success_CreateHeaplets ()) (va_pbool_and (if (alg = AES_128) then
    va_pbool_and (va_codegen_success_KeyExpansion128Stdcall win) (va_ttrue ()) else va_pbool_and
    (va_codegen_success_KeyExpansion256Stdcall win) (va_ttrue ())) (va_pbool_and
    (va_codegen_success_DestroyHeaplets ()) (va_ttrue ()))))
val va_codegen_success_KeyExpansionStdcall : win:bool -> alg:algorithm -> Tot va_pbool
let va_codegen_success_KeyExpansionStdcall win alg =
(va_pbool_and (va_codegen_success_CreateHeaplets ())
    (va_pbool_and (if (alg = AES_128)
          then va_pbool_and (va_codegen_success_KeyExpansion128Stdcall win) (va_ttrue ())
          else va_pbool_and (va_codegen_success_KeyExpansion256Stdcall win) (va_ttrue ()))
        (va_pbool_and (va_codegen_success_DestroyHeaplets ()) (va_ttrue ()))))
Vale.AES.X64.AES.fst.checked
Vale.X64.State.fsti.checked Vale.X64.Stack.fsti.checked Vale.X64.QuickCodes.fsti.checked Vale.X64.QuickCode.fst.checked Vale.X64.Memory.fsti.checked Vale.X64.Machine_s.fst.checked Vale.X64.InsVector.fsti.checked Vale.X64.InsMem.fsti.checked Vale.X64.InsBasic.fsti.checked Vale.X64.Decls.fsti.checked Vale.X64.CPU_Features_s.fst.checked Vale.Def.Types_s.fst.checked Vale.Def.Opaque_s.fsti.checked Vale.Arch.Types.fsti.checked Vale.Arch.HeapImpl.fsti.checked Vale.AES.X64.AES256.fsti.checked Vale.AES.X64.AES128.fsti.checked Vale.AES.GCTR.fsti.checked Vale.AES.AES_s.fst.checked Vale.AES.AES_common_s.fst.checked Vale.AES.AES256_helpers.fsti.checked prims.fst.checked FStar.Seq.Base.fsti.checked FStar.Seq.fst.checked FStar.Pervasives.Native.fst.checked FStar.Pervasives.fsti.checked
Vale.AES.X64.AES.fst
Prims.bool Vale.AES.AES_common_s.algorithm Vale.X64.Decls.va_pbool_and Vale.X64.InsMem.va_codegen_success_CreateHeaplets Prims.op_Equality Vale.AES.AES_common_s.AES_128 Vale.AES.X64.AES128.va_codegen_success_KeyExpansion128Stdcall Vale.X64.Decls.va_ttrue Vale.AES.X64.AES256.va_codegen_success_KeyExpansion256Stdcall Vale.X64.Decls.va_pbool Vale.X64.InsMem.va_codegen_success_DestroyHeaplets
module Vale.AES.X64.AES
open Vale.Def.Types_s
open FStar.Seq
open Vale.Arch.HeapImpl
open Vale.AES.AES_s
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
open Vale.X64.InsVector
//open Vale.X64.InsAes
open Vale.X64.QuickCode
open Vale.X64.QuickCodes
open Vale.Arch.Types
//open Vale.AES.AES_helpers
open Vale.AES.AES256_helpers
open Vale.Def.Opaque_s
open Vale.AES.X64.AES128
open Vale.AES.X64.AES256
open Vale.AES.GCTR
open Vale.X64.CPU_Features_s
open Vale.X64.Stack
#reset-options "--z3rlimit 20"
//-- KeyExpansionStdcall

[@ "opaque_to_smt" va_qattr]
let va_code_KeyExpansionStdcall win alg =
  (va_Block (va_CCons (va_code_CreateHeaplets ()) (va_CCons (if (alg = AES_128) then va_Block
    (va_CCons (va_code_KeyExpansion128Stdcall win) (va_CNil ())) else va_Block (va_CCons
    (va_code_KeyExpansion256Stdcall win) (va_CNil ()))) (va_CCons (va_code_DestroyHeaplets ())
    (va_CNil ())))))

[@ "opaque_to_smt" va_qattr]
val va_codegen_success_KeyExpansionStdcall : win:bool -> alg:algorithm -> Tot va_pbool
win: Prims.bool -> alg: Vale.AES.AES_common_s.algorithm -> Vale.X64.Decls.va_pbool