open Preamble open Deqsets_extra open CostSpec open Sets open Listb open StructuredTraces open BitVectorTrie open Graphs open Order open Registers open FrontEndOps open RTLabs_syntax open SmallstepExec open CostLabel open Events open IOMonad open IO open Extra_bool open Coqlib open Values open FrontEndVal open Hide open ByteValues open Division open Z open BitVectorZ open Pointers open GenMem open FrontEndMem open Proper open PositiveMap open Deqsets open Extralib open Lists open Identifiers open Exp open Arithmetic open Vector open Div_and_mod open Util open FoldStuff open BitVector open Extranat open Integers open AST open Globalenvs open ErrorMessages open Option open Setoids open Monad open Jmeq open Russell open Positive open PreIdentifiers open Errors open Bool open Relations open Nat open Hints_declaration open Core_notation open Pts open Logic open Types open List open RTLabs_semantics open RTLabs_abstract open Stacksize open Executions open Measurable (** val rTLabs_stack_ident : RTLabs_semantics.genv -> RTLabs_abstract.rTLabs_state -> AST.ident **) let rTLabs_stack_ident ge s = (match s with | RTLabs_semantics.State (x, x0, x1) -> (fun _ -> assert false (* absurd case *)) | RTLabs_semantics.Callstate (id, x, x0, x1, x2, x3) -> (fun _ -> id) | RTLabs_semantics.Returnstate (x, x0, x1, x2) -> (fun _ -> assert false (* absurd case *)) | RTLabs_semantics.Finalstate x -> (fun _ -> assert false (* absurd case *))) __ (** val rTLabs_pcs : Measurable.preclassified_system **) let rTLabs_pcs = { Measurable.pcs_exec = RTLabs_semantics.rTLabs_fullexec; Measurable.pcs_labelled = (fun x -> Obj.magic RTLabs_abstract.rTLabs_cost); Measurable.pcs_classify = (fun x -> Obj.magic RTLabs_abstract.rTLabs_classify); Measurable.pcs_callee = (Obj.magic (fun x x0 _ -> rTLabs_stack_ident x x0)) } (** val rTLabs_ext_pcs : Measurable.preclassified_system **) let rTLabs_ext_pcs = { Measurable.pcs_exec = RTLabs_abstract.rTLabs_ext_fullexec; Measurable.pcs_labelled = (fun g s -> RTLabs_abstract.rTLabs_cost (Obj.magic s).RTLabs_abstract.ras_state); Measurable.pcs_classify = (fun g s -> RTLabs_abstract.rTLabs_classify (Obj.magic s).RTLabs_abstract.ras_state); Measurable.pcs_callee = (fun g s _ -> rTLabs_stack_ident (Obj.magic g) (Obj.magic s).RTLabs_abstract.ras_state) }